判断水仙花数python代码
时间: 2023-11-08 07:11:13 浏览: 72
下面是一个简单的 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,"不是水仙花数")
```
在这个代码中,我们首先从用户处输入一个数字。然后,我们使用 while 循环来计算该数字的每个位数的 n 次方和。最后,我们比较该数字与它的和是否相等,如果相等,则该数字是水仙花数,否则不是。
相关问题
判断水仙花数python
水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在Python中,可以使用以下代码来判断一个数是否为水仙花数:
```python
def is_armstrong_number(num):
# 将数字转换为字符串,以便逐位计算
num_str = str(num)
# 获取数字的位数
n = len(num_str)
# 计算每个位上的数字的n次幂之和
sum_of_powers = sum(int(digit) ** n for digit in num_str)
# 判断是否为水仙花数
if sum_of_powers == num:
return True
else:
return False
# 测试
num = 153
if is_armstrong_number(num):
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
```
水仙花数python代码
水仙花数是指一个三位数中,其各个数位数字的立方和等于该数本身。例如,数153就是一个水仙花数,因为 $1^3 + 5^3 + 3^3 = 153$。以下是Python的代码实现。
```
for n in range(100, 1000):
# 计算百、十、个位数字
b = n // 100
s = (n // 10) % 10
g = n % 10
# 判断是否为水仙花数
if n == b**3 + s**3 + g**3:
print(n, end=' ')
```
代码首先使用 `range` 函数生成 $100$ 到 $999$ 之间的所有三位数。接着,通过整除运算计算出数的百、十、个位数字,然后根据水仙花数的定义判断该数是否为水仙花数。如果是,就输出该数。需要注意的是,输出时使用 `end=' '` 参数将多个水仙花数之间的空格分隔开。
阅读全文