用Python判断水仙花数
时间: 2023-05-20 20:06:56 浏览: 101
以下是用 Python 判断水仙花数的代码:
```python
num = int(input("请输入一个数字:"))
sum = 0
n = len(str(num))
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** n
temp //= 10
if num == sum:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
```
这段代码可以判断一个数是否为水仙花数,水仙花数是指一个 n 位数 (n≥3),它的每个位上的数字的 n 次幂之和等于它本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
相关问题
Python判断水仙花数
水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。
可以使用 Python 编写一个程序来判断一个三位数是否为水仙花数:
```python
num = int(input("请输入一个三位数: "))
# 分解出个位、十位、百位
a = num // 100
b = num % 100 // 10
c = num % 10
# 判断是否为水仙花数
if a**3 + b**3 + c**3 == num:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
```
这个程序首先让用户输入一个三位数,然后将其分解为个位、十位和百位上的数字。接着,它计算出这些数字的立方和,如果立方和等于原数,就说明这是一个水仙花数,否则不是。
python判断水仙花数
好的,关于判断水仙花数的问题,可以通过以下代码实现:
```python
# 判断一个数是否为水仙花数
def is_narcissus_number(num):
n = len(str(num)) # 获取num的位数
res = 0
temp = num
while temp > 0:
res += (temp % 10) ** n # 将每位数字的n次方相加
temp //= 10
if res == num:
return True
else:
return False
```
以上代码中,我们首先计算出数字 `num` 的位数 `n`,然后通过取余和整除运算依次获取每位数字,计算每位数字的 `n` 次方并相加得到 `res`,最后判断 `res` 是否等于原数 `num`,若相等则为水仙花数,否则不是。
阅读全文