📜  检查数组的素数元素的和是否为素数(1)

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

检查数组的素数元素的和是否为素数

本程序用于检查数组中所有素数元素的和是否为素数。

程序实现

程序由以下步骤组成:

1. 定义函数 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
2. 定义函数 sum_of_prime()

用于计算给定数组中所有素数元素的和。

def sum_of_prime(arr):
    """计算给定数组中所有素数元素的和"""

    total = 0
    for num in arr:
        if is_prime(num):
            total += num
    
    return total
3. 判断和是否为素数
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 数组中的内容进行修改,完成更多检查数组素数的操作。