久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

python判斷素數的方法有哪些

140次閱讀
沒有評論

共計 778 個字符,預計需要花費 2 分鐘才能閱讀完成。

判斷一個數是否為素數的方法有以下幾種:

  1. 暴力法:對于每個大于 1 且小于該數的整數,判斷該整數能否整除該數。如果存在能整除的整數,則該數不是素數;否則,該數是素數。這種方法的時間復雜度是 O(n)。
def is_prime(n):
    if n <= 1:
        return False
    for i in range(2, n):
        if n % i == 0:
            return False
    return True
  1. 優化暴力法:在判斷能否整除時,可以只判斷小于等于√n 的整數。因為如果存在大于√n 的整數能整除 n,那么一定存在小于√n 的整數能整除 n。這種方法的時間復雜度是 O(√n)。
import math

def is_prime(n):
    if n <= 1:
        return False
    for i in range(2, int(math.sqrt(n)) + 1):
        if n % i == 0:
            return False
    return True
  1. Sieve of Eratosthenes(埃拉托斯特尼篩法):先假設所有數都是素數,然后從 2 開始,將所有 2 的倍數標記為合數,再從 3 開始,將所有 3 的倍數標記為合數,以此類推,直到√n。標記完成后,剩下未被標記的數即為素數。這種方法的時間復雜度是 O(nloglogn)。
def sieve_of_eratosthenes(n):
    is_prime = [True] * (n + 1)
    is_prime[0] = is_prime[1] = False
    p = 2
    while p * p <= n:
        if is_prime[p]:
            for i in range(p * p, n + 1, p):
                is_prime[i] = False
        p += 1
    primes = []
    for i in range(2, n + 1):
        if is_prime[i]:
            primes.append(i)
    return primes

以上是一些常用的判斷素數的方法,不同方法的效率不同,可以根據具體需求選擇合適的方法。

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-16發表,共計778字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 商都县| 汉中市| 富宁县| 紫金县| 右玉县| 新龙县| 高州市| 曲阜市| 靖安县| 涪陵区| 新泰市| 湟中县| 保靖县| 闵行区| 邵阳市| 横山县| 新龙县| 岱山县| 广宗县| 黔西县| 利津县| 黎川县| 鲁甸县| 蒲城县| 肃北| 洛南县| 西乡县| 濮阳县| 临沧市| 米林县| 光泽县| 巧家县| 珠海市| 江北区| 秀山| 凌云县| 浮山县| 南丹县| 鸡西市| 聂拉木县| 定兴县|