用C語言從鍵盤上任意輸入正整數,判斷是否為素數

2021-03-03 22:07:34 字數 2172 閱讀 2202

1樓:匿名使用者

#include

#include

int shu(long unsigned num) //判斷一個給定的數num是不是素數

//是返回1,否則返回0

2樓:無月⑥聲

#include "stdio.h"

void main()

if(j>(i/2))}}

c語言程式設計判斷輸入的正整數是否為素數。

3樓:風翼殘念

將:for(k=2;k<=x[i]-1;k++)改成:for(g=0,k=2;k<=x[i]-1;k++)主要是在這個for迴圈前令g=0。

因為輸入的不止一個數,開頭的初始化g=0,在第一個數的時候就可能已經被改了。後面的數不重新初始化g=0,就不能保證對了。

判斷一個正整數n是不是素數的思路:

思路1):因此判斷一個整數m是否是素數,只需把 m 被 2 ~ m-1 之間的每一個整數去除,如果都不能被整除,那麼 m 就是一個素數。

思路2):另外判斷方法還可以簡化。m 不必被 2 ~ m-1 之間的每一個整數去除,只需被 2 ~ √m 之間的每一個整數去除就可以了。

如果 m 不能被 2 ~ √m 間任一整數整除,m 必定是素數。例如判別 17 是是否為素數,只需使 17 被 2~4 之間的每一個整數去除,由於都不能整除,可以判定 17 是素數。

原因:因為如果 m 能被 2 ~ m-1 之間任一整數整除,其二個因子必定有一個小於或等於 √m,另一個大於或等於 √m。

例如 16 能被 2、4、8 整除,16=2*8,2 小於 4,8 大於 4,16=4*4,4=√16,因此只需判定在 2~4 之間有無因子即可。

正確**如下:

#include/*sqrt*/

#include/*scanf,printf,system*/

int isprime(int n)//判斷n是否為素數,如果是則返回1,否則返回0。

main ()

擴充套件資料:

輸入一個正整數或0,判斷是否為質數:

#include "stdio.h"

int main()

if(i==flag&&(n%i)!=0)

printf("%d是質數\n",n);

} } }}

4樓:匿名使用者

素數:有無限個,除了1和它本身以外不再有其他的因數。所以可以通過for迴圈從2到n-1依次整除n如果能整除則不是素數,否則就是素數。

參考**:

#include

int fun(int n){//判斷n是否是素數int i;

for(i=2;i

5樓:永星天恆

#include

int main()

if(g==0)

printf("yes ");

else

printf("no ");}}

return 0;

}修改後測試結果正確

6樓:斯嘉麗_熹微

// 輸入一個數,判斷其是否為素數

#include "stdafx.h"

#include

#include

int main()

else if(i==n-1)

printf("%d是素數\n", n);

}system("pause");

return 0;

}希望對你能有幫助

7樓:匿名使用者

輸入:共兩行,第一行一個整數,為輸入正整數的個數n(1<=n<=1000);第二行n個空格隔開的正整數ai(1 <= ai <= 1000)

輸出:一行,對於每個正整數,如果是素數則輸出yes,否則輸出no,中間用空格隔開。

以下是我編寫的程式

#include

int main()

if(g==0)

....

8樓:定定定定定軍

你的**沒錯,不過有點瑕疵。你試試這個**,執行時是不是資訊更清晰了。還有,定義陣列的時候不要定義的太大,那樣浪費記憶體,我該改成100了,呵呵。

C語言。任意從鍵盤上輸入兩個正整數a,b交換值後列印輸出

include int main void 數學題排列組合 高懸賞 一群同學去唱ktv。從12首歌中選10首歌,並依次序放入 列表。12首歌 a 韓文必選 來,剩餘7首從自9首進行選擇,bai即選2首不唱,c 9 2 在10首進行全排列,p 10 10 共有du c 9 2 36,p 10 10 6...

c 程式設計,急求大神使用者從鍵盤上任意輸入整數

include define n 10 define invalid 0xffffusing namespace std int main int argc,char argv if istrigger elsereturn true include using namespace std int ...

從鍵盤輸入任意正整數,判斷是否素數的c語言

include void main void sushu int sushu a void sushu int x 最簡單bai的源程du序如下 zhi daomain int ss int n include math.h main include stdio.h include math.h i...