今天開始了一些複習(準備比賽),複習的過程中發現素數還是挺重要的,許多題目都能夠用到它。也想起了關於判斷素數的方法,下面跟大家介紹一下。
首先這一種呢,應該是大家都會的吧~可以用函式做,呼叫起來方便一些。但是也不知道看我的部落格的童鞋知不知道函式(應該知道吧233)
#include#include#include
#include
#include
using
namespace
std;
intmain()
for (int i=2;i<=sqrt(n);i++)
} if (flag==0
) cout
<<"no"
cout
<<"
yes"
}
那麼,在這種方法的基礎上,我們能不能考慮做一些優化呢?
其實是可以的。素數(也就是質數)有什麼特徵呢?最重要的就是它們都不是偶數吧。所以,我們可以先加上一條判斷奇偶數的語句。這樣的話可以減少一些判斷吧?
這個**就不放出來了,希望大家可以自己考慮,然後嘗試著做一下。如果有錯誤,可以發給我大家一起討論吶~
我的部落格:
關於最大素數
這些天很無聊的了解了一下幾個數學題 由對王垠的40行 引發,先是研究了尾遞迴,後又由於王垠的文章 談p np?了解了一下當今數學的七大難題,於是又去查其中乙個龐加萊猜想的事情 龐加萊猜想已經解決,後有丘成桐事件 另外哥德 猜想的相關事情 陳景潤的1 2,非七大難題 最後又回到p np問題 七大難題之...
關於質數(素數)
素數的演算法 最基礎的演算法 n int input for i in range 2,n if n i 0 print n,可以被 i,整除 break else print n,是乙個質數 改進演算法,通過開方縮小整除範圍 n int input for i in range 2,int n 0...
習題 關於素數
1.判斷數n是否是素數 素數即質數,是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。反之則為合數。1既不是素數也不是合數。那麼根據定義,即可判斷乙個整數n是否為素數 bool isprime int n 這樣的時間複雜度為o n 我們考慮可不可以繼續化簡。考慮質數的性質 公理 合數...