水仙花那道题!!!
大佬们,答案咋看懂的啊{:10_266:},有一说一我是数学看不懂。 嘤嘤嘤!还有这是我自己瞎写的,哪错了呢?f = int(1) , s = int(0) , t = int(0)
i = str('f' + 's' + 't')
while i < 1000:
i = str('f' + 's' + 't')
if i == (f**3) + (s**3) + (t**3):
print (i,end = ' ' )
if t <= 9:
t += 1
if t == 10:
t = 0
s += 1
if s <= 9:
s += 1
else :
s = 0
f += 1
本帖最后由 一个账号 于 2020-2-24 09:40 编辑
能不能把答案贴上来? 能不能贴一下题目呢?或者说明一下你想实现什么效果。 本帖最后由 一个账号 于 2020-2-24 09:41 编辑
蓝色忘忧草 发表于 2020-2-24 09:36
能不能贴一下题目呢?或者说明一下你想实现什么效果。
他要实现这种效果:
153 是水仙花数!
370 是水仙花数!
371 是水仙花数!
407 是水仙花数!
第一句语法有误 zltzlt 发表于 2020-2-24 09:40
第一句语法有误
分号写成了逗号 为什么不用 for 循环呢{:10_327:}
for f in range(1, 10):
for s in range(10):
for t in range(10):
i = int(str(f) + str(s) + str(t))
if i == (f ** 3 + s ** 3 + t ** 3):
print(i, end=' ') 为什么不用 for 循环呢?
import math
for i in range(100, 1000):
num = list(str(i))
num =
if math.pow(num, 3) + math.pow(num, 3) + math.pow(num, 3) == i:
print(i, "是水仙花数!") 一个关于这个答案的老帖,解释了答案是什么原理 语法错了好多 一个账号 发表于 2020-2-24 09:34
能不能把答案贴上来?
题目是
编写一个程序,求 100~999 之间的所有水仙花数。
这是答案:
for i in range(100, 1000):
sum = 0
temp = i
while temp:
sum = sum + (temp%10) ** 3
temp //= 10 # 注意这里要使用地板除哦~
if sum == i:
print(i) 零零零909 发表于 2020-2-24 12:29
题目是
编写一个程序,求 100~999 之间的所有水仙花数。
这是答案:
看不懂吗? a = 100
while a <= 999:
x = a // 100
y = a % 100 // 10
z = a %100 %10
if x**3 + y**3 + z**3 == a:
print (a)
a += 1 @不二如是
页:
[1]