當前位置:
試題詳情
若一個三位數abc,滿足abc=a3+b3+c3,則稱abc為水仙花數。如三位數153滿足13+53+33=1+125+27=153,則153是水仙花數。請把所有滿足條件的水仙花數輸出。
(1)分析問題。由題意可知,三位數的范圍是100~999,我們可以讓計算機一一檢查每一個三位數,輸出其中的水仙花數。設百位數字、十位數字、個位數字分別是a,b,c(0<a≤9,0≤b≤9,0≤c≤9),這個三位數就可以表示為100×a+10×b+c,如果它正好等于各位數字的立方和,那么它就是水仙花數。
(2)設計算法。
①令a從1~9窮舉;
②令b從0~9窮舉;
③令c從0~9窮舉;
④如果100×a+10×b+c和a3+b3+c3相等,那么就把它輸出。
⑤轉步驟③,重復執(zhí)行③④⑤,直到c窮舉完畢;
⑥轉步驟②,重復執(zhí)行②③④⑤⑥,直到b窮舉完畢;
⑦轉步驟①,重復執(zhí)行①②③④⑤⑥⑦,直到a窮舉完畢;
⑧跳出循環(huán),結束。
(3)編寫程序。
(4)調試程序。
【考點】枚舉算法及程序實現.
【答案】For a in range(1,10):
For b in range(0,10):
For c in range(0,10):
x=a*100+b*10+c
y=a**3+b**3+c**3
If x==y:
Print(x)
For b in range(0,10):
For c in range(0,10):
x=a*100+b*10+c
y=a**3+b**3+c**3
If x==y:
Print(x)
【解答】
【點評】
聲明:本試題解析著作權屬菁優(yōu)網所有,未經書面同意,不得復制發(fā)布。
發(fā)布:2024/8/7 8:0:9組卷:1引用:0難度:0.4