请你用python语言写一个程序,判断一个数是不是水仙花数
时间: 2023-04-04 09:03:35 浏览: 131
很高兴回答你的问题。以下是Python程序,可以判断一个数是否为水仙花数:
```python
num = int(input("请输入一个三位数:"))
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
```
希望我的回答能够帮到你。
相关问题
用Python语言写一个水仙花数
当一个 n 位正整数等于其各位数字的 n 次方之和时,我们称其为水仙花数。例如,153 = 1^3 + 5^3 + 3^3 是一个三位水仙花数。
下面是使用 Python 语言编写的水仙花数代码:
```python
def is_narcissistic(num):
# 转换为字符串并计算位数
n = len(str(num))
# 初始化求和变量
sum = 0
# 计算各位数字的 n 次方之和
for digit in str(num):
sum += int(digit) ** n
# 判断是否为水仙花数
return sum == num
# 打印 1000 以内的水仙花数
for i in range(1000):
if is_narcissistic(i):
print(i)
```
该程序会打印出所有 1000 以内的水仙花数。你也可以根据需要修改范围。
python3水仙花数程序
当一个三位数的各个位上数字的立方和正好等于该数本身,则称这个数为水仙花数。例如:153=1^3+5^3+3^3,因此153就是一个水仙花数。
以下是Python3语言的水仙花数程序代码:
```python
for num in range(100, 1000):
# 每个位数上的数字
digit_1 = num // 100
digit_2 = num // 10 % 10
digit_3 = num % 10
# 判断是否为水仙花数
if num == digit_1 ** 3 + digit_2 ** 3 + digit_3 ** 3:
print(num)
```
这段代码会输出100到999之间的所有水仙花数。
阅读全文