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

为什么那个程序比如m和n都等于6时,m%n也等于0,且m也等于n啊,为什么就不输出6呢

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

}


正在回答

2 回答

thanks

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

当m=6时,n是取不到6的,最多取到2,6%2==0,直接跳出循环。然后转到m=7,n=1,2,3,4,5,6,m%n!=0,n=7时,不满足n<m,跳出for循环,满足m==n,输出7。

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

举报

0/150
提交
取消

为什么那个程序比如m和n都等于6时,m%n也等于0,且m也等于n啊,为什么就不输出6呢

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