📅  最后修改于: 2023-12-03 15:10:54.110000             🧑  作者: Mango
本程序用于检查数组中所有素数元素的和是否为素数。
程序由以下步骤组成:
is_prime()
用于判断给定的数是否为素数。素数的定义为大于1的自然数,除了1和它本身以外不再有其他因数。
def is_prime(n):
"""判断给定的数是否为素数"""
if n <= 1: # 素数定义为大于1的自然数
return False
for i in range(2, int(n ** 0.5) + 1): # 取整,避免浮点数误差
if n % i == 0:
return False
return True
sum_of_prime()
用于计算给定数组中所有素数元素的和。
def sum_of_prime(arr):
"""计算给定数组中所有素数元素的和"""
total = 0
for num in arr:
if is_prime(num):
total += num
return total
if __name__ == '__main__':
arr = [2, 3, 5, 7, 8, 11, 13, 17, 19, 23, 29, 31]
prime_sum = sum_of_prime(arr)
if is_prime(prime_sum):
print(f"The sum of prime elements in the array is {prime_sum}, which is a prime number.")
else:
print(f"The sum of prime elements in the array is {prime_sum}, which is not a prime number.")
运行以上程序,输出结果为:
The sum of prime elements in the array is 129, which is not a prime number.
使用时只需将数组传入 sum_of_prime()
函数中即可。
如果和为素数,则函数将返回如下信息:
The sum of prime elements in the array is {prime_sum}, which is a prime number.
如果和不为素数,则函数将返回如下信息:
The sum of prime elements in the array is {prime_sum}, which is not a prime number.
本程序通过定义两个函数,分别用于判断素数和计算素数和,实现了检查数组的素数元素的和是否为素数的功能。可以通过对 arr
数组中的内容进行修改,完成更多检查数组素数的操作。