2 列印10000以內的所有素數 資料可較大

2021-09-19 02:42:28 字數 1167 閱讀 7837

#方法一(簡單演算法)

from math import sqrt

# def sushu(number):

# li=[2]

# for n in range(2, number, 1):

# j = 2

# while j < n:

# if n % j == 0:

# break

# j += 1

# if j >= n:

# j += 1

# print(li)

# sushu(10000)

#方法二(最快演算法)(沒看懂!!!!!!!)

# import datetime

# def main():

# print("歡迎進入素數輸出介面(輸出範圍內所有素數)")

# n = int(input('請輸入查詢數字(n>=1):'))

## first=datetime.datetime.now() #記錄開始時間

## r = [1,0,0,0,1,0]*(n//6 +1) #雙斜槓為計算除法後向下取整

# r.insert(0,"0") #為了索引和實際值能對應相等,便於思考

# r[1] = 0

# r[2] = 1

# r[3] = 1

## for i in range(5,int(n**0.5),2):

# if r[i] == 1:

# for j in range(i*i,n+1,2*i):

# r[j] = 0

## for i in range(1,n+1):

# if r[i] == 1:

# print(i)

## two = datetime.datetime.now() #記錄結束時間

## if __name__ == '__main__':

# main()

計算n以內的所有素數

尋找素數我們最常用的方法是暴力求解法,就是沒對於每個數n,從2找到n的開方,判斷每個數是不是素數,時間複雜度度為o nlog2n 時間複雜度高,是肯定的,因為太 暴力 所以,我想換個思路,其實求素數的過程,就是去除合數的過程,如果對於乙個雜湊,去除了合數,那麼留下的就是素數了,時間複雜度接近o n ...

求N以內的所有素數

如下 include stdafx.h include conio.h include math.h include malloc.h typedef long long prime typedef struct pn 構造素數節點 struct pn next pn static pn prime...

Python學習 列印10000以內的所有素數

普及一下素數,初中學的都忘記了 基本判斷思路 在一般領域,對正整數n,如果用2到 質數大於等於2 不能被它本身和1以外的數整除 from math import sqrt 定義乙個是否素數函式,如果n等於1,則返回false def is prime n if n 1 return false fo...