素數求解問題及優化

2022-08-28 11:27:10 字數 815 閱讀 8108

素數求解問題在程式設計師的面試中是個很簡單的問題,經常是小公司的基礎面試題。然而因為一些個小緊張什麼的,弄跪了些許人

那麼,今天就關於這個問題我們來進行總結及方案優化

素數概念:除了1和它本身不能被其他數整除的數字都是素數

思路:因此判斷乙個整數m是否是素數,只需把m被 2 ~ m-1 之間的每乙個整數去除,如果都不能被整除,那麼m就是乙個素數。

我們就圍繞 bool isprime(int n) 判斷乙個數是否為素數來談吧

**依據概念

bool isprime(int

n)return

true

;}

優化:因為偶數必然不為素數,所以i+=2;

bool isprime(int

n)

return

true

;}

優化:對於數字m,要確定乙個整除它的數字k,會有k1*k2==m,那麼,k1,k2如何才能最小呢,那就是k1==k2,所以優化為i*i

bool isprime(int

n)return

true

; }

以上就是關於素數求解的全過程及優化。

素數求解問題在程式設計師的面試中是個很簡單的問題,經常是小公司的基礎面試題。然而因為一些個小緊張什麼的,弄跪了些許人

那麼,今天就關於這個問題我們來進行總結及方案優化

素數概念:除了1和它本身不能被其他數整除的數字都是素數

思路:因此判斷乙個整數m是否是素數,只需把m被 2 ~ m-1 之間的每乙個整數去除,如果都不能被整除,那麼m就是乙個素數。

求解素數問題演算法

在解程式題的過程中經常會遇到素數的判斷問題,在保證不能超時的同時要判斷是否為素數,大多數初學者會採用第一種演算法 1.單單列出演算法,不列出完整程式 include include intf int n if a 0 test if test n return i 這就是求第n個素數的演算法 姑且稱...

python求解素數相關問題

證明乙個數是不是素數 def pd prime n if n 1 print 1既不是質數,也不是合數 return false i 2 is flag true while i i n if n i 0 is flag false i 1 if is flag print n return is ...

素數篩選及優化

素數的埃式篩選法的思想 對於不超過n的每個正整數,刪除2的倍數,3的倍數,4的倍數 n 1的倍數,當處理完所有數之後,還沒有被刪除的就是素數。void getprime int n 從0到n篩選素數 vis 0 vis 1 1 這裡介紹乙個唯一分解定理 任何乙個大於1的自然數 n,如果n不為素數,那...