for i in range(100, 1000):
a = i // 100
b = (i - a * 100) // 10
c = (i - a * 100 - b * 10)
if i == pow(a, 3) + pow(b, 3) + pow(c, 3):
print(i)
参考代码如下
shuixianhua=[]
for i in range(1,10):
for j in range(10):
for k in range(10):
if i*i*i + j*j*j + k*k*k == 100*i + 10*j + k:
shuixianhua.append(100*i + 10*j + k)
for i in shuixianhua:
if i == shuixianhua[-1]:
print(i)
else:
print(i, end = ',')
如果对你有帮助,记得采纳一下哦,谢谢
for i in range(100,1000):
if eval('+'.join([n+'**3' for n in str(i)]))==i:
print(i)
使用切片,将数字切分并拼接立方的算数表达式,然后用+号拼接成完整算数表达式,运算结果如果等于数字本身,就输出。
上边这个完全等效于这个,输出的时候,我多输出了两个变量,可以方便的观察结果是否是预期的内容
for i in range(100,1000):
a = [n+'**3' for n in str(i)]
b = '+'.join(a)
if eval(b)==i:
print(a,b,i)
如果还不明白,可以看下边这个
for i in range(100,1000):
a = []
for n in str(i):
a.append(n+'**3')
b = '+'.join(a)
if eval(b)==i:
print(a,b,i)
几个遍历的方法,可以使用不同的语法进行缩减语句的
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632