用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/hAi8 著作权归作者所有。请勿转载和采集!