課堂6:枚舉算法經(jīng)典案例
說在前面











(開放題)統(tǒng)計(jì)“勾股數(shù)”:滿足等式a*a +b*b = c*c的三個(gè)正整數(shù)a,b,c稱為“勾股數(shù)”,求出100以內(nèi)所有的“勾股數(shù)”。
下面的代碼使用枚舉算法列舉出了100以內(nèi)所有的“勾股數(shù)”,但是代碼存在一些問題,你能發(fā)現(xiàn)是什么問題嗎?該如何改進(jìn)?
ans = []
for a in range(1, 100):
??? for b in range(1,100):
??????? for c in range(1,100):
??????????? if a*a + b*b == c*c:
???????????????ans.append((a, b, c))
print(ans)
需要本文PPT、源代碼和課后練習(xí)答案的,可以加入“Python算法之旅”知識(shí)星球參與討論和下載文件,“Python算法之旅”知識(shí)星球匯集了數(shù)量眾多的同好,更多有趣的話題在這里討論,更多有用的資料在這里分享。
我們專注Python算法,感興趣就一起來!
相關(guān)優(yōu)秀文章:
課堂4:循環(huán)結(jié)構(gòu)經(jīng)典案例
評(píng)論
圖片
表情
