水仙花数python语言程序
时间: 2024-09-11 16:04:53 浏览: 42
水仙花数(Narcissistic number)也被称为阿姆斯特朗数(Armstrong number),是指一个n位数,其各位数字的n次方和等于该数本身。例如,153是一个3位数,且1^3 + 5^3 + 3^3 = 153。
使用Python语言编写一个寻找水仙花数的程序,可以遵循以下步骤:
1. 确定一个范围,比如从100到999,因为这是一个三位数的范围。
2. 遍历这个范围内的每一个数。
3. 对于每一个数,计算其各位数字的立方和。
4. 如果这个立方和等于原数,则该数是一个水仙花数。
5. 将所有的水仙花数打印出来。
以下是一个简单的Python程序示例:
```python
# 打印出所有的三位水仙花数
for num in range(100, 1000):
# 计算每个位上数字的立方和
sum_of_cubes = sum(int(digit) ** 3 for digit in str(num))
# 如果立方和等于原数,则是水仙花数
if num == sum_of_cubes:
print(num)
```
这段代码会输出所有的三位水仙花数。如果你需要其他位数的水仙花数,比如四位数,你需要调整范围,并且将立方和改为四次方和即可。
相关问题
python3水仙花数程序
当一个三位数的各个位上数字的立方和正好等于该数本身,则称这个数为水仙花数。例如:153=1^3+5^3+3^3,因此153就是一个水仙花数。
以下是Python3语言的水仙花数程序代码:
```python
for num in range(100, 1000):
# 每个位数上的数字
digit_1 = num // 100
digit_2 = num // 10 % 10
digit_3 = num % 10
# 判断是否为水仙花数
if num == digit_1 ** 3 + digit_2 ** 3 + digit_3 ** 3:
print(num)
```
这段代码会输出100到999之间的所有水仙花数。
用Python语言写一个水仙花数
当一个 n 位正整数等于其各位数字的 n 次方之和时,我们称其为水仙花数。例如,153 = 1^3 + 5^3 + 3^3 是一个三位水仙花数。
下面是使用 Python 语言编写的水仙花数代码:
```python
def is_narcissistic(num):
# 转换为字符串并计算位数
n = len(str(num))
# 初始化求和变量
sum = 0
# 计算各位数字的 n 次方之和
for digit in str(num):
sum += int(digit) ** n
# 判断是否为水仙花数
return sum == num
# 打印 1000 以内的水仙花数
for i in range(1000):
if is_narcissistic(i):
print(i)
```
该程序会打印出所有 1000 以内的水仙花数。你也可以根据需要修改范围。
阅读全文