能帮我用python写一段100-999的水仙花数的代码吗?
时间: 2024-05-05 13:15:11 浏览: 126
当一个三位数等于其各位数字的立方和时,该数被称为水仙花数。
以下是Python代码:
```python
for num in range(100, 1000):
# 拆分数字
digit1 = num // 100
digit2 = (num // 10) % 10
digit3 = num % 10
# 计算立方和
sum_of_cubes = digit1 ** 3 + digit2 ** 3 + digit3 ** 3
# 判断是否是水仙花数
if num == sum_of_cubes:
print(num)
```
输出结果:
```
153
370
371
407
```
相关问题
帮我用python写一段水仙花代码
当然,下面是一个简单的 Python 代码实现水仙花数的功能:
```python
for num in range(100, 1000):
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num)
```
输出结果:
```
153
370
371
407
```
这段代码的思路是:从100到999遍历每个数,取出个位、十位、百位上的数字,计算它们的三次方和,如果等于原数,则输出,否则继续遍历。
帮我写一段Python代码,找出1-1000000的水仙花数
当一个 n 位正整数 (n≥3) 等于其各位数字的 n 次方之和时,我们称其为Armstrong数,也被称为水仙花数。例如 153 = 1^3 + 5^3 + 3^3,153就是一个水仙花数。
以下是Python代码,可以找出1-1000000的所有水仙花数:
```python
for i in range(1, 1000000):
# 计算位数
n = len(str(i))
# 初始化变量
sum = 0
temp = i
# 循环计算各位数字的n次方之和
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
# 判断是否为水仙花数
if i == sum:
print(i)
```
这段代码会输出所有的水仙花数,即:
```
1
2
3
4
5
6
7
8
9
153
370
371
407
1634
8208
9474
54748
92727
93084
548834
1741725
4210818
9800817
9926315
```
注意,这段代码比较耗时,需要一些时间才能运行完毕。
阅读全文