编写程序,输出所有的水仙花数。(例如:371=3**3+7**3+1**3,这个371就是水仙花数) 要求:
时间: 2024-06-22 21:03:39 浏览: 9
水仙花数(Narcissistic number)是一种特殊的数字,它的各位数字立方和等于它本身。例如,371就是一个水仙花数,因为 3^3 + 7^3 + 1^3 = 371。
编写一个程序来找出所有的水仙花数,通常会用到循环和条件判断。以下是一个简单的Python代码示例:
```python
def find_narcissistic_numbers(n):
for num in range(100, n + 1): # 一般查找范围在三位数内
digits = [int(digit) for digit in str(num)]
if sum([digit ** 3 for digit in digits]) == num:
print(num)
# 调用函数开始查找
find_narcissistic_numbers(1000) # 如果你想查找更大数据范围,可以调整这个参数
```
在这个代码中,我们遍历从100到给定上限的所有整数,将每个数转换成字符串以便获取每一位数字,然后计算这些数字的立方和。如果和等于原数,就输出这个数。
相关问题
编写程序,输出所有的水仙花数。 (例如: 371=3**3+7**3+1**3,这个371就是水仙花数)
水仙花数,也称为 narcissistic number 或 pluperfect digital invariant,是指一个三位数,其各位数字立方和等于该数本身。例如,371是水仙花数,因为3^3 + 7^3 + 1^3 = 371。
要编写一个程序输出所有的水仙花数,你可以使用循环遍历所有三位数,并对每一位进行立方运算,然后检查结果是否等于原数。以下是一个简单的 Python 示例代码:
```python
def find_narcissistic_numbers(n):
for num in range(100, 1000): # 遍历100到999
digits = [int(digit) for digit in str(num)] # 将数转换为列表,便于操作
if sum([digit ** 3 for digit in digits]) == num: # 检查立方和是否等于原数
print(num)
# 运行函数
find_narcissistic_numbers()
```
Python编写程序找出所有的水仙花数并输出。水仙花数 是三位数,它的各位数字的立方和等于这个三位 数本身,例如371就是一个水仙花数:371=3*3*3 +7*7*7+1*1*1。
好的,以下是Python代码实现:
```python
for num in range(100, 1000):
# 获取百位、十位、个位上的数字
a = num // 100
b = num % 100 // 10
c = num % 10
# 判断是否为水仙花数
if num == a**3 + b**3 + c**3:
print(num)
```
输出结果为:
```
153
370
371
407
```