📌  相关文章
📜  通过合并元素和添加元素来修改数组,使其仅包含素数。(1)

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

修改数组使其仅包含素数

在数学中,一个素数(质数)是指在大于1的自然数中,除了1和它本身以外,无法被其他自然数整除的数。 我们可以通过合并元素和添加新元素来修改数组,使其仅包含素数。

思路
  1. 定义一个空数组作为结果数组
  2. 循环遍历要操作的原始数组
  3. 对于每一个元素,判断是否是素数
  4. 如果是素数,则将其添加到结果数组中
  5. 返回结果数组
代码实现
def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True

def get_primes_from_list(lst):
    primes = []
    for num in lst:
        if is_prime(num):
            primes.append(num)
    return primes
总结

这样通过遍历原数组来获取素数数组的方法,时间复杂度为O(n^2),如果想进一步优化,可以使用Sieve of Eratosthenes算法,时间复杂度为O(n log log n)。