大佬 快来啊
def lsp ():for each1 in range(100,1000):
a = each1 % 10
b = each1 //10 -10
c = each1 //100
if each1 == a**3 +b**3 + c**3:
print(each1)
lsp()
为啥我的程序就运行了一遍
目的是在100 到1000 的所有水仙花数 本帖最后由 yayc_zcyd 于 2021-4-10 16:26 编辑
if __name__ == "__main__":
print("水仙花数是:")
for n in range(100, 1000):
hun = n // 100
ten = (n - hun * 100) // 10
ind = n % 10
m = hun**3 + ten**3 + ind**3
if n == m:
print("%d \t" %n, end="") 本帖最后由 yayc_zcyd 于 2021-4-10 16:24 编辑
看看我写的吧{:10_254:} 你这个代码:
a取得是个位上的数
c取得是百位上的数
b取得是十位上的数
但是你写的:b = each1 //10 -10
这个真的是取得是十位上的数吗?不是吧
所以我改成了:b = (each1-c*100)//10
我改后的代码如下:
def lsp ():
for each1 in range(100,1000):
a = each1 % 10
#b = each1 //10 -10
c = each1 //100
#b = (each1-c*100)//10
if each1 == a**3 +b**3 + c**3:
print(each1)
lsp()
运行结果如下:
153
370
371
407
>>>
OK 希望有用吧 肖-肖 发表于 2021-4-10 17:21
你这个代码:
a取得是个位上的数
c取得是百位上的数
谢谢 大佬
页:
[1]