当前位置:
试题详情
若一个三位数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相等,那么就把它输出。
⑤转步骤③,重复执行③④⑤,直到c穷举完毕;
⑥转步骤②,重复执行②③④⑤⑥,直到b穷举完毕;
⑦转步骤①,重复执行①②③④⑤⑥⑦,直到a穷举完毕;
⑧跳出循环,结束。
(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)
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/8/7 8:0:9组卷:1引用:0难度:0.4