qq_缘徊_03225888
2017-12-11 14:38
求解 例如 m=3, n=2;n<m不就是n的取值范围只能是2罗 那么3%2!=0 3不是素数嘛,可m!=n呀 如果改成n<=m 那么3就是素数了 可问题是为啥是n<m 呀 乱了我一脸懵逼 求救
#include <stdio.h>
int main()
{
int m, n;
for(m=2; m<=50; m++) 如果m=3
{
for(n=2; n<=m; n++) n<3——n=2
{
if( m%n==0 ) 3%2不等于0
break; //这里应该退出当前循环了
}
if(m == n) 3不等于2
printf("%d ", m); 这里m 就不会输出3啦 ,也就是3不是素数啦,想要3是素数,条件不应该是n<=吗, 为啥n<m就可以了呢 就是这个我不理解
}
return 0;
}
3是素数,但我觉得你这个是m是指外面传入的数,n是指从1到其本身之前的数,只有能被1和本身整除的数才是素数,所以最后跳出去的会是m=n
3%2!=0 ,那么3就是素数啊!
C语言入门
926212 学习 · 20797 问题
相似问题