水仙花数代码Python
时间: 2024-09-24 12:01:12 浏览: 41
水仙花数(Narcissistic number)是指一个n位正整数,其各位数字的n次幂之和等于原数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
以下是一个简单的Python代码示例,用于检查一个数是否为水仙花数:
```python
def is_narcissistic_number(n):
# 将数字转换成字符串并分割成单个字符
str_num = str(n)
length = len(str_num)
# 计算每个数字的幂并求和
sum_of_powers = sum(int(char) ** length for char in str_num)
# 如果和等于原始数,则返回True,否则False
return n == sum_of_powers
# 测试几个例子
print(is_narcissistic_number(153)) # 输出:True
print(is_narcissistic_number(370)) # 输出:True
print(is_narcissistic_number(371)) # 输出:True (最小的三位水仙花数)
print(is_narcissistic_number(9474)) # 输出:True
```
使用这段代码,你可以检查任意给定的正整数是否为水仙花数。如果你有特定的数值想要测试,可以直接传入这个函数即可。
相关问题
求水仙花数的python代码
以下是求水仙花数的 Python 代码:
```python
for num in range(100, 1000):
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit ** 3
temp //= 10
if num == sum:
print(num)
```
这段代码会输出所有的三位水仙花数,即 153、370 和 371。
水仙花数代码编程python
以下是Python中判断水仙花数的代码:
```python
for i in range(100, 1000):
# 将数字转换为字符串,然后分离出每个数字
num_str = str(i)
a = int(num_str[0])
b = int(num_str[1])
c = int(num_str[2])
# 判断是否为水仙花数
if a**3 + b**3 + c**3 == i:
print(i)
```
该代码使用了for循环,遍历100到999之间的所有三位数。然后将每个数字转换为字符串,再将其分离为三个数字。最后判断这三个数字的立方和是否等于原数字,如果是,则输出该数字。
阅读全文