大神,水仙花数程序流程图总画不好,求一个。
'''求解 100~999 之间的所有水仙花数。如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。
例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数。
'''
for num in range(100,1000):
for i in range(0,10):
for j in range(0,10):
for w in range(0,10):
if(num==pow(i,3)+pow(j,3)+pow(w,3))and(str(i)+str(j)+str(w)==str(num)):
print(num) 流程图毛线用都木有 本帖最后由 jackz007 于 2022-10-16 17:29 编辑
水仙花数的代码会这么卷???
for num in range(100 , 1000):
if num == (num // 100) ** 3 + (num // 10 % 10) ** 3 + (num % 10) ** 3 :
print(num) 流程图没啥必要吧,先给个我写的算法,Python还是比C简单的
for num in range(100, 1000):
li=
sum = 0
for i in li:
sum += i**3
if sum == num:
print(num)
概述下来就是,从101一直遍历到999,对每一个数进行判断:
将每个数拆分开来,按题目要求计算求和比较。
中间只是用了些类型转换的操作,整个思路应该是很清晰简单的吧。
而且你原本那个4个for有点多余,一个就够了 本帖最后由 2971739074 于 2022-10-16 18:41 编辑
for a in range(0,10):
for b in range(10):
for c in range(10):
lop=a*100+b*10+c
lpi=a**3+b**3+c**3
if lop==lpi:
print(lop)
一开始我也是老多迭代
页:
[1]