编写程序,输入所有“水仙花数”,且输出在一行,数据间用逗号相隔
时间: 2023-05-20 17:04:18 浏览: 88
以下是程序代码:
```python
def is_narcissistic_number(num):
"""
判断一个数是否为水仙花数
"""
digits = str(num)
n = len(digits)
sum = 0
for digit in digits:
sum += int(digit) ** n
return sum == num
def main():
"""
输出所有的水仙花数
"""
narcissistic_numbers = []
for i in range(100, 1000):
if is_narcissistic_number(i):
narcissistic_numbers.append(str(i))
print(','.join(narcissistic_numbers))
if __name__ == '__main__':
main()
```
输出结果为:
```
153,370,371,407
```
相关问题
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, end=",")
```
输出结果为:
```
153,370,371,407,
```
编写程序,输出所有“水仙花数”,且输出在一行,数据间用逗号相隔
好的,我会尽力回答您的问题。以下是输出所有“水仙花数”的程序:
```python
# 求n位数中的所有水仙花数
for num in range(100, 1000):
# 将数字拆分为每个位数
digit1 = num // 100 # 百位
digit2 = (num // 10) % 10 # 十位
digit3 = num % 10 # 个位
# 每个位数的立方和
sum_of_cubes = digit1**3 + digit2**3 + digit3**3
# 判断是否为水仙花数
if num == sum_of_cubes:
print(num, end=', ')
```
以上程序会输出所有“水仙花数”,也就是各个位数的数字的立方和等于该数字本身的数,范围是从100到999之间。输出结果会在一行中,数据间用逗号相隔。
阅读全文