C語言判斷素數,判斷質素演算法

2021-10-11 06:39:31 字數 1411 閱讀 3374

1、判斷乙個數是否為質數

思路:質數是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。所以從2開始進行求餘,在小於自然數本身數字裡沒有乙個數字進行求餘數為0的,則證明輸入的自然數是質數,否則非質數

#include

intmain()

for(i=

2;iif(b==0)

else

return0;

}

結果

2、找出乙個大於1的自然數中所有的質數並輸出,計算總共多少個

思路:從該自然數開始進行判斷是否為質數,如果是質數則列印,接著自然數在大於1時迴圈做自減,再依次判斷是否為質數,如果是質數則列印,在通過乙個變數的自增記錄為質數的個數

#include

intmain()

}}}printf

("\n總共質數為:%d"

,b);

return0;

}

結果

s1區間1——72,有素數18個,孿生素數7對。(2和3不計算在內,最後的數是孿中的也算在前面區間。)

3、計算大於2的正整數有哪些素數組成,如45=3 *3 *5

思路:素數一般指質數。質數是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。 因此就是把數字拆分成乙個個質數數進行相乘,因此需從2開始進行求餘數為0情況,如果餘數為0,則自然數(a)更新為自然數(a)/2的值,進行進行下一輪求餘數為0,餘數不為0,在進行2的自增,繼續求余為0,直到2變成乙個大於自然數(a)的數值在停止求余為0的判斷。

#include

intmain()

b=2;

//b初始為2

printf

("%d="

,a);

//列印a=

while

(b<=a)

else

if(a%b==

0&&a==b)

else

}return0;

}

結果

C語言 判斷素數

1 判斷所輸入的整數是否為素數 除1以外只能被1和它本身整除的自然數 include 包含標準庫的資訊 intmain void 每個程式都從main函式的起點開始執行 printf 是素數 n return0 2 求100 200之間的全部素數 include 包含標準庫的資訊 include 標...

C語言判斷素數(求素數)

素數又稱質數。所謂素數是指除了 1 和它本身以外,不能被任何整數整除的數,例如17就是素數,因為它不能被 2 16 的任一整數整除。思路1 因此判斷乙個整數m是否是素數,只需把 m 被 2 m 1 之間的每乙個整數去除,如果都不能被整除,那麼 m 就是乙個素數。思路2 判斷方法還可以簡化。m 不必被...

素數判斷演算法

bool isprime int n bool isprime int n int p max void prime int n return n odd 最後把主體和 剩下的 乘起來作為結果 演算法思路 對於n,從素數表中取出任意的素數對其進行費馬測試,如果取了很多個素數,n仍未測試失敗,則認為 ...