判断水仙花数Python
时间: 2024-10-18 20:08:08 浏览: 42
判断一个整数是否为水仙花数,是指该数的每一位数字的立方和等于原数本身。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。在Python中,你可以编写一个简单的函数来检查这个特性。以下是一个函数的例子:
```python
def is narcissistic_number(n):
# 将输入转换为字符串,便于处理每个位数
num_str = str(n)
# 获取数的位数
len_num = len(num_str)
# 计算各个位数的立方和
sum_of_cubes = sum(int(digit) ** len_num for digit in num_str)
# 如果立方和等于原数,则是水仙花数
return n == sum_of_cubes
```
使用这个函数,你可以像这样测试一个数字是否是水仙花数:
```python
print(is_narcissistic_number(153)) # 输出: True
print(is_narcissistic_number(370)) # 输出: True
print(is_narcissistic_number(380)) # 输出: False
```
相关问题
判断水仙花数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代码
以下是一个判断水仙花数的 Python 代码:
```python
num = int(input("请输入一个三位数:"))
temp = num
sum = 0
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num, "是水仙花数")
else:
print(num, "不是水仙花数")
```
该程序首先通过 `input()` 函数获取用户输入的一个三位数。然后,使用 `while` 循环和取模运算符 `%` 分别取出该数的百位、十位和个位上的数字,并计算立方和。最后,判断该数和立方和是否相等,如果相等,则说明该数是水仙花数,否则不是水仙花数。
阅读全文