四叶玫瑰数是指四位数各位上的数字的四次方之和等于本身的数。编写函数,判断某个四位数是不是四叶玫瑰数,如果是则返回1,否则返回0。在主函数中调用此函数找出所有的四叶玫瑰数并输出。
时间: 2024-05-08 11:17:53 浏览: 116
输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。
可以先编写一个判断一个数是否为四叶玫瑰数的函数isRose,再在主函数中循环判断所有的四位数。
函数isRose的实现:
```python
def isRose(num):
s = str(num) # 将数字转为字符串
sum = 0
for i in s:
sum += int(i)**4 # 计算各位数字的四次方之和
if sum == num:
return 1
else:
return 0
```
在主函数中的实现:
```python
for i in range(1000, 10000):
if isRose(i):
print(i)
```
完整代码如下:
```python
def isRose(num):
s = str(num) # 将数字转为字符串
sum = 0
for i in s:
sum += int(i)**4 # 计算各位数字的四次方之和
if sum == num:
return 1
else:
return 0
for i in range(1000, 10000):
if isRose(i):
print(i)
```
输出结果:
```
1634
8208
9474
```
阅读全文