1 #include 2 #include 3 #include 4 #include 5 #include 6大質數判定using
namespace
std;
7 typedef long
long
ll;8
//快速乘法
9ll modd;
10ll fast(ll x,ll y)
1120
return
ans;
21}
22bool
millerrabin(ll x)
2332 ll m=x-1;33
//測試[a^(n-1)]%n==1
34 ll ans=1;35
while(m>0)36
44 m/=2;45
if(log10(a)*2+1>=18
)46 a=fast(a,a);
47else
48 a=(a*a)%modd;49}
50if(ans%modd==1)51
return
false;52
else
53return
true;54
}55intmain()
5666
else
if(n%2==0)67
71else
7280
}81 cout<
yes"
<
83return0;
84 }
miller-rabin演算法:
多取幾個a,使得a與n互質
每次測試a^(n-1)%n是否等於1
如果等於1
就有巨大的可能是質數
但仍然有可能不是質數
所以叫做偽質數
但當測試資料足夠多組都成立的時候
不是質數的概率相當小
小到幾乎可以省略
於是我們就省略了
然後它就是質數了
素數的判定
problem description 對於表示式n 2 n 41,當n在 x,y 範圍內取整數值時 包括x,y 39 xinput 輸入資料有多組,每組佔一行,由兩個整數x,y組成,當x 0,y 0時,表示輸入結束,該行不做處理。output 對於每個給定範圍內的取值,如果表示式的值都為素數,則輸...
素數判定,素數篩
這些零碎的知識點每個都學過n次了,但隔一段時間就會忘,記錄下來 素數定義 只能被自身和1整除的大於1的正整數 通過這個定義,我們就可以得出判斷素數的 這裡用到了cmath中的sqrt函式,其原型為double sqrt double 所以在取上界的時候,為了避免double帶來的精度丟失,寧可多列舉...
RESTful的正確姿勢
很多人都有這樣的疑問 rest 英文 representational state transfer,簡稱rest 描述了乙個架構樣式的網路系統,比如 web 應用程式。它首次出現在 2000 年 roy fielding 的博士 中,roy fielding是 http 規範的主要編寫者之一。在目...