帮我用python写一段水仙花数
时间: 2023-08-10 21:59:42 浏览: 105
当一个n位正整数等于其各个位数上的数字的n次幂之和时,我们称其为水仙花数。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。下面是用Python编写的一个程序来找出指定范围内的水仙花数:
```python
lower = int(input("请输入范围下限:"))
upper = int(input("请输入范围上限:"))
print("水仙花数在范围", lower, "和", upper, "之间是:")
for num in range(lower, upper + 1):
# 将数字转换成字符串,并计算每个位上数字的n次方之和
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** len(str(num))
temp //= 10
# 如果和等于原数字,则打印该数字
if num == sum:
print(num)
```
你可以根据需要输入范围下限和上限,程序将会输出该范围内的所有水仙花数。
相关问题
用Python写一段水仙花数
我可以为你写出一段Python代码来输出水仙花数:for num in range(100, 1000):
a = num % 10
b = num // 10 % 10
c = num // 100
if a**3 + b**3 + c**3 == num:
print(num)
帮我用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遍历每个数,取出个位、十位、百位上的数字,计算它们的三次方和,如果等于原数,则输出,否则继续遍历。
阅读全文