看板 Python 關於我們 聯絡資訊
a = 0 b = 0 c = 0 n = 1 #number of nuggets #sol = (a, b, c) while (n <50): while (c <= n/20): while (b <= n/9): while (a <= n/6): if (6*a + 9*b + 20*c != n): a += 1 else: n += 1 a = 0 b += 1 a = 0 c += 1<----這邊讓他+1 下面又指定為0所以無窮的問題是在c這層 b = 0 c = 0 <----這才是你無窮回圈的主因 print n n += 1 print 'Done!' 還有個問題就是 你的程式沒有窮舉完... 半夜睡不著用你的邏輯改的 list = range(1000); for x in range(list[-1]/20): for y in range(list[-1]/9): for z in range(list[-1]/6): try: list.remove(x*20+y*9+z*6); except: pass; print list[-1]; 我這樣好像助紂為虐XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.242.6.36
suzuke:內層迴圈不是先跑嗎? 怎麼會是c=0是主因0.0a 11/15 11:31
suzuke:雖然都要改啦... 11/15 11:31
Equalmusic:感謝大家幫忙, 修正後已經 OK 了! 11/15 13:37
※ 編輯: rmbrick 來自: 111.242.6.36 (11/15 18:07)