📜  计算除数为质数的数组元素(1)

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

计算除数为质数的数组元素
介绍

在数组中找出除数为质数的元素,需要对数组中的每个元素进行遍历,并判断其是否为质数。

算法描述
  1. 定义一个空数组res,用于存储结果;
  2. 遍历数组中的每个元素num;
  3. 对num进行质数判断:从2到根号num遍历,如果num能够被整除,则num不是质数,跳出循环;否则num是质数;
  4. 如果num是质数,则将其存入res数组中;
  5. 返回res数组作为结果。
代码实现
def is_prime(num):
    if num <= 1:
        return False
    for i in range(2, int(num ** 0.5) + 1):
        if num % i == 0:
            return False
    return True

def prime_numbers(arr):
    res = []
    for num in arr:
        if is_prime(num):
            res.append(num)
    return res
示例
arr = [2, 4, 7, 9, 10, 13]
prime_arr = prime_numbers(arr)
print(prime_arr) #[2, 7, 13]
复杂度分析
  • 时间复杂度:遍历数组O(n),判断每个元素是否为质数O(sqrt(n)),所以总的时间复杂度为O(n * sqrt(n));
  • 空间复杂度:开辟了一个res数组用于存储结果,所以空间复杂度为O(n)。