用python写出输出所有的水仙花数
时间: 2024-04-25 08:06:37 浏览: 134
Sure! 下面是用Python写的输出所有的水仙花数的代码:
```python
for num in range(100, 1000):
digits = [int(d) for d in str(num)]
if num == sum(digit ** 3 for digit in digits):
print(num)
```
希望能对你有所帮助~
相关问题
用python写一个输出水仙花数
在Python中,水仙花数(Narcissistic number)也被称为自恋数或阿姆斯壮数,是指一个正整数,其各个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
下面是一个简单的Python程序,用于找出给定范围内的水仙花数:
```python
def is_narcissistic_number(num):
# 将数字转换为字符串,便于处理每个位上的数字
str_num = str(num)
# 计算每个位上数字的立方和
sum_of_cubes = sum(int(digit) ** len(str_num) for digit in str_num)
# 如果立方和等于原数,那么它是水仙花数
return sum_of_cubes == num
# 定义一个范围,比如从100到999
start, end = 100, 999
narcissistic_numbers = [i for i in range(start, end + 1) if is_narcissistic_number(i)]
# 输出水仙花数列表
print(f"水仙花数在范围 {start} 到 {end} 有: {narcissistic_numbers}")
```
运行这个程序,它会找出指定范围内(这里是100到999)的所有水仙花数。
用python写出所有水仙花数
我可以回答这个问题。以下是用 Python 写出所有水仙花数的代码:
```python
for num in range(100, 100):
# 分解出每一位
digit1 = num // 100
digit2 = (num // 10) % 10
digit3 = num % 10
# 判断是否为水仙花数
if num == digit1 ** 3 + digit2 ** 3 + digit3 ** 3:
print(num)
```
这段代码会输出所有三位数的水仙花数。
阅读全文