m%n==0 和取余以及取素?cái)?shù)的問(wèn)題
#include <stdio.h>
int main()
{
? ? int m, n;
? ? for(m=2; 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; ? ?
}
假設(shè)父循環(huán)m=7時(shí),子循環(huán)n=2;n<m,子循環(huán)條件滿足,一直循環(huán),直到n==m==7時(shí)循環(huán)條件不滿足,退出循環(huán),此時(shí)走if句,7%7==0,判定break生效,退出循環(huán),那么同時(shí)滿足后面的m==n 進(jìn)入顯示,正確嗎?
同理,m=9,n=2,循環(huán),直到m==n==9時(shí),9%9=0,條件滿足,break生效,并滿足m==n,進(jìn)入顯示???這怎么可能?
我哪里的理解有誤?求解答。
2017-08-14
7是素?cái)?shù),但是當(dāng)m=9,n=3的時(shí)候,m%n==0即m可以整除n,跳出內(nèi)層循環(huán),然后判斷m==n?這時(shí)m!=n,也就不輸出。
2017-08-14
假設(shè)父循環(huán)m=7時(shí),子循環(huán)n=2;n<m,子循環(huán)條件滿足,一直循環(huán),直到n==m==7時(shí)循環(huán)條件不滿足,退出循環(huán),此時(shí)走if句,這個(gè)解釋能走通嗎?那m=2也同理。