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開頭的奇數,因為...