帮我用python写一个水仙花数
时间: 2023-02-20 13:59:19 浏览: 76
好的,我可以为您写一个判断水仙花数的代码。
```
def is_narcissistic_number(number):
num_str = str(number)
num_len = len(num_str)
sum = 0
for i in range(num_len):
sum += int(num_str[i]) ** num_len
return sum == number
for i in range(100, 1000):
if is_narcissistic_number(i):
print(i)
```
这段代码会打印出所有三位数的水仙花数。
相关问题
帮我用python写一段水仙花数
当一个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写一个水仙花数
当一个三位数等于其各位数字的立方和时,我们称其为水仙花数。比如 153 就是一个水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。
下面是用 Python 编写水仙花数的代码:
```python
for n in range(100, 1000):
# 分离出每一位数字
i = n // 100 # 百位数
j = n // 10 % 10 # 十位数
k = n % 10 # 个位数
# 判断是否为水仙花数
if n == i**3 + j**3 + k**3:
print(n)
```
输出结果:
```
153
370
371
407
```
阅读全文