求 100-1000 中所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字立方各等于该数本身,要求用 for 循环实现。

1个回答
展开全部
摘要 # 仙花数
仙花数:一个三位数,其按位之和等于该数本身,该数称为仙花数。求出100- 1000之间的仙花数
(其实,仙花数是“幂数”中的一种;幂数:一个n位数,其按位数字的n次幂之和,等于该数本身。
# 第1种方法
list1 = []
for i in range(100,1000):
a = i%10 # 个位
b = i%100//10 # 十位
c = i//100 # 百位
d = a ** 3 + b ** 3 + c ** 3
if d == i:
list1.append(d)
print('1000以内的仙花数有:', list1)
# 输出的结果为 1000以内的仙花数有: [153, 370, 371, 407]
# 第2种方法
i = 2
while i < 1000:
a = i % 10
b = i % 100 // 10
c = i // 100
if a ** 3 + b ** 3 + c ** 3 == i:
print(i)
i += 1
咨询记录 · 回答于2024-01-08
求 100-1000 中所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字立方各等于该数本身,要求用 for 循环实现。
亲您好,我是问答博主,你的问题我已经看到了,正在整理答案,人工打字中,五分钟之内回复您,您的追问我一定会回答,因为人数较多需要排队,请您稍等一会儿
嗯嗯
### 仙花数 仙花数是指一个三位数,其各位数字的立方和等于该数本身。求出100-1000之间的仙花数。 (实际上,仙花数是“幂数”中的一种;幂数是指一个n位数,其各位数字的n次幂之和,等于该数本身。) # 第1种方法 list1 = [] for i in range(100, 1000): a = i % 10 # 个位 b = i % 100 // 10 # 十位 c = i // 100 # 百位 d = a ** 3 + b ** 3 + c ** 3 if d == i: list1.append(d) print('1000以内的仙花数有:', list1) # 输出的结果为 1000以内的仙花数有: [153, 370, 371, 407] # 第2种方法 i = 2 while i < 1000: a = i % 10 b = i % 100 // 10 c = i // 100 if a ** 3 + b ** 3 + c ** 3 == i: print(i) i += 1
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消