Python 代码实现:寻找素数水仙花数
水仙花数是指一个 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 著作权归作者所有。请勿转载和采集!