當前位置:首頁 » 編程語言 » c語言輸出1000素數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言輸出1000素數

發布時間: 2022-01-21 05:30:04

❶ 求一個用c語言編程的一個程序。讓輸出一1000以內的全部素數

素數的判斷:除了1和它本身以外不再有其他的因數。
此程序可按照以下流程:

1、主函數中進行循環,從2到1000

2、如果當前循環的數是素數,就將其輸出

判斷一個數num是否是素數,可按照以下流程:
1、循環,從2到num-1

2、如果當前循環的數能被num整除,則num不是素數

3、沒有num能整除的數,表明num是素數

代碼如下:
#include <stdio.h>

int isPrime(int num);

int main()
{
int i;

for (i = 2; i <= 1000; i++)
if (isPrime(i))
printf("%d ", i);

return 0;
}

int isPrime(int num)
{
int i;

for (i = 2; i < num; i++)
if (num % i == 0)
return 0;

return 1;
}

❷ c語言編寫程序,輸出1000內的所有素數, 每行顯示10個數

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/*****************************************************************
*本程序用來計算1000內質數有哪些及一共有哪些。
*
*知識點:什麼是質數?及只能被本身和1整除的整數。
*
*時間:2018.10.22
*****************************************************************/
int main(void)
{
int i,j,result = 0,sum = 0; //i-循環變數和被判斷數 j-循環變數和判斷數 result-驗證是否為質數的返回值 sum-質數總量計數
for (i = 2;i <= 1000;i++) //第一個循環用來取出被判斷數 從2開始到1000
{
for (j = 2; j <= sqrt(i) + 1;j++) //第二個循環是用來判斷這個數是否為質數並返回,從2開始至被判斷數開根後+1. sqrt(i)後面不+1 會把質數2 3丟掉
{
if (i%j == 0 && i != j) //如果被判斷數用2-被判斷數來取余,如果余數為0 且不是被自已整除那麼這個數一定不是質量直接返回
{
result = 0; //判斷出是質數後返回前必須給返回值賦0值,0代表非質數 1代表質數
break;
}
result = 1;
}
if (result == 1) //如果此數為質數 質數總量+1後並列印 把result返回值初始化准備下一個循環判斷。
{
sum++;
printf("第%d個質數:%d \n",sum,i);
result = 0;
}
}
return 0;
}

❸ C語言:輸出1-1000素數;

函數f有問題啊,如果是素數會返回,但不是素數的話,沒有返回值啊。
建議
修改如下:
1. 函數f中
if(j>=n)
return n;
else
return 0;
2. 函數main的循環中
int result = f(i);
if( result )
printf("%5d",result);

❹ 如何編寫C語言求1000以內的素數之和並輸出

不給分?

❺ C語言求100到1000素數的程序

#include<stdio.h>
void main()
{
int i,t,choose=0;
for(i=100;i<=1000;i++)
{ choose=0;
for(t=2;t<=(i-1);t++)
{
if(i%t==0){ choose=1;break;}
}
if(choose==0)
printf("%d\t",i);
}
getch();
}

也不給分 哈哈按照你的改的 試過絕對行

❻ C語言編程輸出1000對孿生素數

#include <stdio.h>

#include <math.h>

int isPrime(int n)

{

int i;

if (n < 2)

return 0;

int k = (int)sqrt((double)n); //提高效率

for (i = 2; i <= k; i++)

{

if (n % i == 0)

return 0;

}

return 1;

}

int main()

{

int i = 3, ct = 0;

while (ct < 1000)

{

if (isPrime(i) && isPrime(i + 2))

{

ct++;

printf("第 %d 對:%d/%d ", ct, i, i + 2);

}

i += 2;

}

return 0;

}

❼ 用C語言輸出1000以內的全部素數

如下圖所示:

❽ C語言輸出100至1000間的素數

#include<cstdlib>
#include<iostream>
usingnamespacestd;
intmain(intargc,char*argv[])
{
inta,b;
for(a=100;a<1000;a++)
{
intist=0;
for(b=2;b<a;b++)
{
if(a%b==0)
{
ist=1;
break;
}
}
if(ist==0)
printf("%d ",a);
}


system("PAUSE");
returnEXIT_SUCCESS;
}

❾ C語言輸出100到一千之間所有素數

首先打開CodeBlocks,創建一個新項目。項目語言,選擇「c」,就可以寫程序判斷素數了,具體方法為:

1、創建好項目後,我們打開 「main.c」文件。

注意事項:

質數被利用在密碼學上,所謂的公鑰就是將想要傳遞的信息在編碼時加入質數,編碼之後傳送給收信人,任何人收到此信息後,若沒有此收信人所擁有的密鑰,則解密的過程中(實為尋找素數的過程),將會因為找質數的過程(分解質因數)過久,使即使取得信息也會無意義。

❿ C語言求1000以內素數

你程序的問題出現在
while(num2<num1)
{
num2=2;
num=num1%num2;
num2++;
a=isPrime(num);
if(a==1)
printf("%5d",num1);
}
假設num1=4的時候,你沒次進循環num2=2,num2++,num2=3;再次進循環num2=2,num2++,num2=3;因此一直有num2<num1成立,這就進入了死循環。這個程序不難寫,如果你需要寫出程序,hi我。