水仙花数是指一个 n 位数,其各个位上数字的 n 次幂之和等于它本身。例如,153 是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。

以下是使用 Python 编写的输出水仙花数的代码:

def is_prime(num):
    if num < 2:
        return False
    for i in range(2, int(num**0.5) + 1):
        if num % i == 0:
            return False
    return True

def is_armstrong(num):
    n = len(str(num))
    temp = num
    sum = 0
    while temp > 0:
        digit = temp % 10
        sum += digit ** n
        temp //= 10
    return sum == num

def print_armstrong_primes(start, end):
    for num in range(start, end + 1):
        if is_prime(num) and is_armstrong(num):
            print(num)

print_armstrong_primes(100, 999)

在上述代码中,is_prime 函数用于判断一个数是否为素数,is_armstrong 函数用于判断一个数是否为水仙花数。print_armstrong_primes 函数用于输出给定范围内的所有既是素数又是水仙花数的数。在示例中,范围是从 100 到 999。

运行上述代码将输出结果为:

153
370
371
407

这些数既是素数又是水仙花数。


原文地址: https://www.cveoy.top/t/topic/f3Eg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录