📌  相关文章
📜  两个整数之间的阿姆斯壮数(1)

📅  最后修改于: 2023-12-03 15:06:14.528000             🧑  作者: Mango

介绍:两个整数之间的阿姆斯壮数

阿姆斯壮数也被称为自恋数或者自幂数,指的是一个n位数(n>=3),其各位数字的n次方之和等于该数本身。例如,153是一个阿姆斯壮数,因为1^3 + 5^3 + 3^3 = 153。

本文将介绍如何编写一个函数,用于寻找两个整数之间的阿姆斯壮数,并输出这些数。

实现步骤
  1. 编写函数 is_armstrong_number(num),判断一个数是否为阿姆斯壮数。该函数实现如下:
def is_armstrong_number(num):
    n = len(str(num))
    sum = 0
    temp = num
    while temp > 0:
        digit = temp % 10
        sum += digit ** n
        temp //= 10
    if num == sum:
        return True
    else:
        return False
  1. 编写函数 find_armstrong_numbers(start, end),寻找两个整数之间的阿姆斯壮数,该函数实现如下:
def find_armstrong_numbers(start, end):
    armstrong_numbers = []
    for num in range(start, end+1):
        if is_armstrong_number(num):
            armstrong_numbers.append(num)
    return armstrong_numbers
  1. 以上两个函数可以整合成一个函数 find_and_print_armstrong_numbers(start, end),同时寻找并输出阿姆斯壮数,该函数实现如下:
def find_and_print_armstrong_numbers(start, end):
    armstrong_numbers = find_armstrong_numbers(start, end)
    if len(armstrong_numbers) == 0:
        print("No Armstrong numbers found.")
    else:
        print(f"Armstrong numbers between {start} and {end} are:")
        for num in armstrong_numbers:
            print(num)
总结

本文介绍了如何编写一个函数,用于寻找两个整数之间的阿姆斯壮数,并输出这些数。通过实现 is_armstrong_number(num) 函数和 find_armstrong_numbers(start, end) 函数,可以找到所有的阿姆斯壮数,并使用 find_and_print_armstrong_numbers(start, end) 函数进行输出。