题目描述
编写函数求100~999之间的所有水仙花数。所谓水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。
输出要求:n个数,n为100~999之间的所有水仙花数的个数,数字之间用空格隔开
案例代码
你可以使用以下 Python 代码来计算 100~999 之间的所有水仙花数,并输出它们的个数以及每个水仙花数:
def is_armstrong(num):
# 计算数字的位数
num_str = str(num)
num_digits = len(num_str)
# 计算每个位上的数字的 num_digits 次方之和
armstrong_sum = sum(int(digit) ** num_digits for digit in num_str)
# 判断是否为水仙花数
return armstrong_sum == num
def find_armstrong_numbers():
armstrong_numbers = []
for num in range(100, 1000):
if is_armstrong(num):
armstrong_numbers.append(num)
return armstrong_numbers
# 调用函数找到所有水仙花数
armstrong_numbers = find_armstrong_numbers()
# 输出水仙花数的个数
print(len(armstrong_numbers), end=' ')
# 输出每个水仙花数
for num in armstrong_numbers:
print(num, end=' ')
这段代码首先定义了一个 is_armstrong()
函数,用于判断一个数字是否为水仙花数。然后定义了 find_armstrong_numbers()
函数来找出 100~999 之间的所有水仙花数,并将它们存储在列表 armstrong_numbers
中。最后,输出水仙花数的个数和每个水仙花数。
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END