素數的判斷

2021-06-26 02:40:09 字數 626 閱讀 1082

所謂素數是指除了1和它本身以外,不能被任何整數整除的數,例如17就是素數,因為它不能被2~16的任一整數整除。因此判斷乙個整數m是否是素數,只需把m被2~m-1之間的每乙個整數去除,如果都不能被整除,那麼m就是乙個素數

另外判斷方法還可以簡化。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之間有無因子即可)

判斷**:

k=sqrt(n)+1;

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

if(n%i==0)break;

if(i>=k)

printf("%d is prime number\n",n);

else

printf("%d is not prime munber\n",n);

素數的判斷

素數是啥?知道了這個就能夠知道如何判斷乙個數是否為素數了。這篇博文裡詳細說明了素數是啥 素數 如果乙個整數a 1且只能被平凡約數1和它自身所整除,則這個數是素數。也就是說素數是恰好有2個約數的整數,即1和它本身。因為n的約數都不超過n,所以只要檢查2 n 1的所有整數是否整除n就能判斷n是不是素數了...

素數的判斷

素數 首先,儲存最小素數2,然後,從3開始,在奇數中尋找素數。用不大於該奇數一半的所有奇數去整除它,如果都除不盡,該奇數是素數。曾稱質數。乙個大於1的正整數,如果除了1和它本身以外,不能被其他正整數整除,就叫素數。如2,3,5,7,11,13,17 8 2042 0sample output 8 3...

素數的判斷

一般方法 for n in range 100,1 1 if n 2 0 continue for i in range 3 int n 0.5 1 2 這裡步長為2,可以自己想想為什麼。if n i 0 結束內迴圈 break else 與for配對 print n 結束外迴圈 break特殊方法...