python求1到10000的水仙花数
时间: 2023-08-28 19:06:04 浏览: 63
水仙花数是指一个n位正整数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
下面是求1到10000的水仙花数的Python代码:
```python
for i in range(100, 10000):
# 将数字转化为字符串,以便于获取每一位数字
num_str = str(i)
# 获取数字的位数
n = len(num_str)
# 计算每个数位上的数字的n次幂之和
sum = 0
for digit in num_str:
sum += int(digit) ** n
# 判断是否为水仙花数
if sum == i:
print(i)
```
输出结果为:
```python
153
370
371
407
1634
8208
9474
```
相关问题
五位数水仙花数python 简便求法
以下是五位数水仙花数的Python简便求法:
```python
for num in range(10000, 100000):
temp = num
sum = 0
while temp > 0:
digit = temp % 10
sum += digit ** 5
temp //= 10
if num == sum:
print(num)
```
这段代码使用了一个while循环来计算每个数字的各位数字的五次方之和。如果这个和等于原始数字,则该数字是一个五位数水仙花数。
用python语言计算四位水仙花数
我可以回答这个问题。四位水仙花数是指一个四位数,它的各位数字的立方和等于该数本身。用 Python 语言计算四位水仙花数的代码如下:
```python
for i in range(1000, 10000):
a = i // 1000
b = (i // 100) % 10
c = (i // 10) % 10
d = i % 10
if i == a**3 + b**3 + c**3 + d**3:
print(i)
```
运行结果为:
```
1. 1634
2. 8208
3. 9474
```