陆瑾言
2020-03-26 10:17
#include <stdio.h>
int main()
{
int m, n;
for(m=2; m<=50; m++)
{
for(n=2; n<m; n++)
{
if(m%n==0)
break;
}
if(m == n)
printf("%d ", m);
}
return 0;
}
仅靠m%n==0无法判断m是素数,这个表达式只能说明m能被n整除而已,这个表达式只是用来找m在2到m-1范围内是否具有一个n能整除m,如果有,则m不是素数
能被2到自身整除的话就不是质数,跳出当前这个循环(for);如果一直不跳,n++会累积到m
#include <stdio.h>
int main()
{
int m, n;
for(m=2; m<=50; m++)
{
for(n=2; n<m; n++)
{
if( m%n == 0 ) //什么条件下跳出当前循环
{
break;
} //这里应该退出当前循环了
}
if(m == n) //n循环结束后,如果m=n的话就输出m
printf("%d ", m);
}
return 0;
}
C语言入门
926944 学习 · 21533 问题
相似问题