計算n以內的質數表

2021-04-02 12:23:55 字數 756 閱讀 4226

1.設計乙個時間複雜度低於o(n^2)的演算法,計算n以內的質數表,並且計算你的演算法的複雜度.

注:本文最初發表於汕頭大學鬱金香bbs.

發信人: guomin (cs03.working for tomorrow), 信區: program

標  題: re: 演算法考試樣題

發信站: 鬱金香bbs站 (2023年01月12日15:46:20 星期四), 站內信件

考完試,無聊..練習打字.

第一題我的解法,不知道對錯,錯了麻煩大家提出來^_^;我考慮盡量做到最優.

(1)建立乙個可變長度的陣列p[i](為敘述方便)用來儲存質數表;

(2)程式:

if(n<=1) exit(0);                            //如果n<=1,退出程式

else if(n>=2) p[0]=2;                   //如果n>=2,將2新增進質數表

else if(n<3) 列印質數表;            //如果n==2,實際上只有乙個質數:2,輸出質數表

else

p[i+1]=k;                       //整除不了,新增進質數表

onto:k+=2;                        //因為奇數才需要驗證,偶數不用考慮(除2外)

if(k%3==0) k+=2;                //能被3整除的不用考慮}}

(3)列印質數表p[i]

erlang 求N以內的質數

素數,又稱質數,在乙個大於1的自然數中,除了1和此整數自身之外,不能被其他自然數整除的數。比1大但不是素數的數稱為合數。1和0既不是素數,也不是合數。算術基本定理證明每個大於1的正整數都可以寫成素數的乘積,並且這種乘積的形式是唯一的。1 module get prime 23 compile exp...

篩選法求n以內素數(質數)

設定乙個標誌陣列isprime,isprime i 的值是1就表示i是素數。開始陣列元素值全部為1劃掉k的倍數,就是把isprime 2 k isprime 3 k 置成0最後檢查isprime陣列,輸出isprime i 為1的那些i include include using namespace...

輸出n以內的所有素數(質數)

素數 質數 除能被自己和1整除,不能被其他數整除的數叫素數,1和0既非素數也非合數。素數一定是不能整除2和3,但不能整除2和3的不一定是素數如35和49 def odd iter n liste i for i in range 2,n 1 k 0while k思路分析 1 先生成3開頭的奇數,因為...