为了账号安全,请及时绑定邮箱和手机立即绑定

为什么第二个for后面n=2而不是1?

#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;    

}


为什么第二个for后面n=2而不是1?如果是2那么后面n++后m%n的n就从3开始了,如果前面n是1的话这里n就是2,能排除许多偶数

我试了用1,不能运行,不知道为何

正在回答

1 回答

质数就是除了一和本身,没有其他的数可以被整出,但是如果n=1的话

        {

            if( m%n==0 )       //什么条件下跳出当前循环

             break;                 //这里应该退出当前循环了

}

这个程序便没有意义了,

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么第二个for后面n=2而不是1?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信