課程
/后端開(kāi)發(fā)
/C
/C語(yǔ)言入門(mén)
for的父循環(huán)中m=5的時(shí)候,自循環(huán)規(guī)定了n<m,那此時(shí)n最大只能是4,子循環(huán)執(zhí)行完了,也沒(méi)有滿足m=n,為何結(jié)果還有5。另外我在子循環(huán)里面加上n<=m,結(jié)果也是一樣的。哪個(gè)正確?
@Perona
2015-08-09
源自:C語(yǔ)言入門(mén) 4-14
正在回答
首先了解一下素?cái)?shù)的概念。素?cái)?shù)是只能除以1和自身的數(shù)。
這里2個(gè)for循環(huán),外面的for循環(huán)是遍歷0-50這幾個(gè)數(shù)的,里面的for是看m除了自己還能不能被整除。
外面的for從2開(kāi)始算m是不是素?cái)?shù),n是除數(shù),除數(shù)從2開(kāi)始,如果m除以2余數(shù)為0,說(shuō)明m能被2整除,則m不是素?cái)?shù),里面for循環(huán)break,繼續(xù)算外面的for循環(huán)m+1。
第一次循環(huán):m=2,
????????子循環(huán):(因?yàn)檫@里n=2,n<m,不做循環(huán)),跳出,執(zhí)行if(m == n) 輸出2
第二次循環(huán):m=3,
? ? ? ? ?子循環(huán):n=2,m%2=1
??????????重點(diǎn)是(n++)這個(gè),n++是什么呢?是自增1。本次循環(huán)中先取到n的值是2,但是循環(huán)結(jié)束后,n是不 ? ? ? ? ? 是就自增了1,執(zhí)行if(m == n)?輸出3
第三次循環(huán):m=4,
? ? ? ? ?子循環(huán):n=2,m%2=0,不符合。
第三次循環(huán):m=5,
? ? ? ? ?子循環(huán):n=2,m%2=1,跳出?
????????這里就是你想要知道的答應(yīng),當(dāng)n循環(huán)到4的時(shí)候,跳出循環(huán),n自增了1,執(zhí)行if(m == n)?輸出5。
......(接下來(lái)的循環(huán)自行腦補(bǔ))
子循環(huán)為嘛要判n>m,因?yàn)樗財(cái)?shù)是只能除以1和自身的數(shù)。那么除數(shù)和被除數(shù)相等是沒(méi)有意義的。所以應(yīng)該是n>m,而不是n>=m。
你看下,還有什么不懂的說(shuō)說(shuō)唄。
PS:你是第一個(gè)@我的人,我有種莫名的感動(dòng)啊!太謝謝你,童鞋,你真可耐,么么噠~~~
小玖so 提問(wèn)者
明白了,受教
666
首先M=2 N=2 余數(shù)為0 跳出循環(huán) 然后 M++ ?M=3 N=2 余數(shù)為1不跳 N<M N++ N=3 余數(shù)為0則跳出循環(huán) 以此類(lèi)推。這才是正解,按樓主的理解,9就不行了,9可以被3整除,不是素?cái)?shù)。
Perona
話說(shuō)一開(kāi)始就被素?cái)?shù)的概念給砸暈了。。。
看了老半天覺(jué)得應(yīng)該得用模運(yùn)算,就是沒(méi)敢下手,其實(shí)就是兩行代碼的事。。。
除余運(yùn)算,看來(lái)得重視了
多謝樓主,提點(diǎn)啦
判斷這個(gè),只判斷第一個(gè)數(shù)字的,比如第一次循環(huán)的m=2 n=2那么這不就是相等情況了嗎?你把整個(gè)運(yùn)算順序分析一下
舉報(bào)
C語(yǔ)言入門(mén)視頻教程,帶你進(jìn)入編程世界的必修課-C語(yǔ)言
3 回答幫忙解答一下,謝謝
3 回答有大佬幫忙解答一下嗎?謝謝
2 回答幫忙白話點(diǎn),解答下。謝謝
3 回答請(qǐng)幫忙回答一下謝謝
1 回答幫忙回答 下 謝謝
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢(xún)優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2015-08-10
首先了解一下素?cái)?shù)的概念。素?cái)?shù)是只能除以1和自身的數(shù)。
這里2個(gè)for循環(huán),外面的for循環(huán)是遍歷0-50這幾個(gè)數(shù)的,里面的for是看m除了自己還能不能被整除。
外面的for從2開(kāi)始算m是不是素?cái)?shù),n是除數(shù),除數(shù)從2開(kāi)始,如果m除以2余數(shù)為0,說(shuō)明m能被2整除,則m不是素?cái)?shù),里面for循環(huán)break,繼續(xù)算外面的for循環(huán)m+1。
第一次循環(huán):m=2,
????????子循環(huán):(因?yàn)檫@里n=2,n<m,不做循環(huán)),跳出,執(zhí)行if(m == n) 輸出2
第二次循環(huán):m=3,
? ? ? ? ?子循環(huán):n=2,m%2=1
??????????重點(diǎn)是(n++)這個(gè),n++是什么呢?是自增1。本次循環(huán)中先取到n的值是2,但是循環(huán)結(jié)束后,n是不 ? ? ? ? ? 是就自增了1,執(zhí)行if(m == n)?輸出3
第三次循環(huán):m=4,
? ? ? ? ?子循環(huán):n=2,m%2=0,不符合。
第三次循環(huán):m=5,
? ? ? ? ?子循環(huán):n=2,m%2=1,跳出?
????????這里就是你想要知道的答應(yīng),當(dāng)n循環(huán)到4的時(shí)候,跳出循環(huán),n自增了1,執(zhí)行if(m == n)?輸出5。
......(接下來(lái)的循環(huán)自行腦補(bǔ))
子循環(huán)為嘛要判n>m,因?yàn)樗財(cái)?shù)是只能除以1和自身的數(shù)。那么除數(shù)和被除數(shù)相等是沒(méi)有意義的。所以應(yīng)該是n>m,而不是n>=m。
你看下,還有什么不懂的說(shuō)說(shuō)唄。
PS:你是第一個(gè)@我的人,我有種莫名的感動(dòng)啊!太謝謝你,童鞋,你真可耐,么么噠~~~
2016-05-23
明白了,受教
2015-10-26
666
2015-09-02
首先M=2 N=2 余數(shù)為0 跳出循環(huán) 然后 M++ ?M=3 N=2 余數(shù)為1不跳 N<M N++ N=3 余數(shù)為0則跳出循環(huán) 以此類(lèi)推。這才是正解,按樓主的理解,9就不行了,9可以被3整除,不是素?cái)?shù)。
2015-08-14
話說(shuō)一開(kāi)始就被素?cái)?shù)的概念給砸暈了。。。
看了老半天覺(jué)得應(yīng)該得用模運(yùn)算,就是沒(méi)敢下手,其實(shí)就是兩行代碼的事。。。
除余運(yùn)算,看來(lái)得重視了
多謝樓主,提點(diǎn)啦
2015-08-10
判斷這個(gè),只判斷第一個(gè)數(shù)字的,比如第一次循環(huán)的m=2 n=2那么這不就是相等情況了嗎?你把整個(gè)運(yùn)算順序分析一下