📜  数组中所有素数的乘积(1)

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

数组中所有素数的乘积

在一个给定的整数数组中,找到所有素数并将它们的乘积返回。

其中,素数是指只能被1和自身整除的正整数。

思路

首先,我们需要确定什么是素数。一个数n是素数,如果它只能被1和n整除。

其次,我们遍历整个数组,判断每一个元素是否为素数。如果是素数,则将其乘入结果。最后返回结果即可。

具体实现如下:

def is_prime(n):
    """
    判断一个数是否为素数
    :param n: 需要判断的数
    :return: True / False
    """
    if n < 2:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True


def product_of_primes(lst):
    """
    计算数组中所有素数的乘积
    :param lst: 数组
    :return: 乘积
    """
    result = 1
    for num in lst:
        if is_prime(num):
            result *= num
    return result
测试

为了验证函数的正确性,我们对其进行测试。对于以下输入:

assert product_of_primes([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) == 210

我们期望得到的输出为 210。