python 水仙花数
时间: 2023-07-11 22:50:54 浏览: 53
Python 实现水仙花数的代码如下:
```python
for num in range(100, 1000):
# 将数字分离出来
units = num % 10
tens = num // 10 % 10
hundreds = num // 100
# 判断是否为水仙花数
if num == units ** 3 + tens ** 3 + hundreds ** 3:
print(num)
```
输出结果为:
```
153
370
371
407
```
相关问题
Python 水仙花数
Python中的水仙花数是指一个n位数,它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
以下是一个Python程序来判断一个数是否为水仙花数:
```python
def is_armstrong_number(num):
# 将数字转换为字符串,以便逐位计算
str_num = str(num)
# 获取数字的位数
n = len(str_num)
# 计算每个位上的数字的n次幂之和
sum_of_powers = sum(int(digit) ** n for digit in str_num)
# 判断是否为水仙花数
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
# 定义一个函数,判断一个数是否为水仙花数
def isNarcissisticNumber(num):
# 将数字转换成字符串,以便逐位计算
num_str = str(num)
# 获取数字的位数
n = len(num_str)
# 计算每一位的n次方之和
sum = 0
for i in num_str:
sum += int(i) ** n
# 判断是否为水仙花数
if sum == num:
return True
else:
return False
# 输出1000以内的水仙花数
for i in range(1000):
if isNarcissisticNumber(i):
print(i)
```
输出结果:
```
0
1
2
3
4
5
6
7
8
9
153
370
371
407
```
阅读全文