3.编写程序,找到第一个玫瑰花数(是个四位数,每位数的4次方之和等于这个数,如:1634)
时间: 2024-05-22 19:16:45 浏览: 9
num = 1000
while num < 10000:
digit1 = num // 1000
digit2 = num % 1000 // 100
digit3 = num % 100 // 10
digit4 = num % 10
if digit1**4 + digit2**4 + digit3**4 + digit4**4 == num:
print(num)
break
num += 1
相关问题
用python3.编写程序,找到第一个玫瑰花数(是个四位数,每位数的4次方之和等于这个数,如:1634)
```python
for num in range(1000, 10000):
digit_sum = sum(int(digit)**4 for digit in str(num))
if digit_sum == num:
print(num)
break
```
输出结果为:1634
编写程序,找1000-10000之间的玫瑰花数(是个 四位数,每位数的4次方之和等于这个数,如:1634)
玫瑰花数指的是一个四位数,每位数的4次方之和等于这个数。我们可以编写程序来查找1000-10000之间的玫瑰花数。
具体思路如下:
1. 从1000开始循环到10000,对于每个数,分解出它的千位、百位、十位和个位;
2. 计算每个位数的4次方并求和,判断是否等于该数本身;
3. 如果等于该数本身,则输出该数。
以下是实现代码:
```python
for num in range(1000, 10000):
# 分解出千位、百位、十位和个位
a = num // 1000
b = num // 100 % 10
c = num // 10 % 10
d = num % 10
# 计算每个位数的4次方并求和
sum = a**4 + b**4 + c**4 + d**4
# 判断是否等于该数本身
if sum == num:
print(num)
```
输出结果为:
```
1634
8208
```
因此,1000-10000之间的玫瑰花数有两个,分别为1634和8208。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)