素?cái)?shù)的算法
#include <stdio.h>
int main()
{
??? int m, n;
??? for(m=3; m<=50; m++)
??? {
?? ??? ?for(n=2; n<m; n++)
??????? {
??????????? if(?? m%n==0?? )?????? //什么條件下跳出當(dāng)前循環(huán)
??????????? break;???????????? //這里應(yīng)該退出當(dāng)前循環(huán)了
?? ??? ?}?? ?
??????? if(m == n)?? //n循環(huán)結(jié)束后,如果m=n的話就輸出m
??????????? printf("%d? ", m);
?? ?}
?? ?return 0;?? ?
}
看不太懂???求大神講解一下。比如說m%n==0這個(gè)地方和m==n這個(gè)地方?
2015-01-17
m%n==0 能整除
m == n 到了循環(huán)的結(jié)束?
質(zhì)數(shù)(prime number)又稱素?cái)?shù),有無限個(gè)。一個(gè)大于1的自然數(shù),除了1和它本身外,不能整除以其他自然數(shù)(質(zhì)數(shù)),換句話說就是該數(shù)除了1和它本身以外不再有其他的因數(shù);否則稱為合數(shù)。
2015-01-24
1不是素?cái)?shù),其實(shí)素?cái)?shù)也就是質(zhì)素!在我剛才發(fā)的程序中?printf("2 ");的2后面有空格,不要忘了!
2015-01-24
我覺得2也是素?cái)?shù),因此正確如下:
#include <stdio.h>
int main()
{
? ? int m, n;
? ? printf("2 ");
? ? for(m=3; m<=50; m++)
? ? {
for(n=2; n<m; n++)
? ? ? ? {
? ? ? ? ? ? if(m%n==0) ? ? ? //什么條件下跳出當(dāng)前循環(huán)
? ? ? ? break; ? ? ? ? ? ? ? ? //這里應(yīng)該退出當(dāng)前循環(huán)了
}
? ? ? ? if(m == n) ? //n循環(huán)結(jié)束后,如果m=n的話就輸出m
? ? ? ? ? ? printf("%d ?", m);
}
return 0; ? ?
}
2015-01-17
1, 2 都是素?cái)?shù)