各種數論定理

小技巧
當算某個數的階乘或者算很大的次方的時候,可以將數字轉換爲10^n的進製表示方法(比如1000進制或者10000進制),這樣出來點的數字和原答案是一樣的,只不過在一個數組的一個元素中多存了幾位。

約數個數定理
首先,n可以分解質因數:n=p1^a1×p2^a2×p3^a3*…*pk^ak,
由約數定義可知p1^a1的約數有:p1^0, p1^1, p1^2……p1^a1 ,共(a1+1)個;同理p2^a2的約數有(a2+1)個……pk^ak的約數有(ak+1)個。
故根據乘法原理:n的約數的個數就是(a1+1)(a2+1)(a3+1)…(ak+1)。
歐拉函數
通式:
其中p1, p2……pn爲x的所有質因數,x是不爲0的整數。
φ(1)=1(唯一和1互質的數(小於等於1)就是1本身)。
約數和定理
對於一個大於1正整數n可以分解質因數:n=p1^a1*p2^a2*p3^a3*…*pk^ak,
則由約數個數定理可知n的正約數有(a₁+1)(a₂+1)(a₃+1)…(ak+1)個,
那麼n的(a₁+1)(a₂+1)(a₃+1)…(ak+1)個正約數的和爲
f(n)=(p1^0+p1^1+p1^2+…p1^a1)(p2^0+p2^1+p2^2+…p2^a2)…(pk^0+pk^1+pk^2+…pk^ak)
求1~n的最小公倍數**
從1開始記錄到達當前值的最小公倍數,如果前一個的最小公倍數能整除當前值,則最小公倍數不變,否則*當前值除過1之外的最小約數,因爲到當前值爲止,假設到n了,m是n的最小約數(除了1),則n/m肯定在前面出現過,又要求最小公倍數,所以當前的最小公倍數是,搶一個的最小公倍數*m。
數論線性篩法總結
包括素數篩,歐拉函數篩,莫比烏斯函數篩,前n個數的約數個數篩。
費馬平方和定理
奇質數能表示爲兩個平方數之和的充分必要條件是該質數%4==1及4k+1的形式。
拉格朗日四平方和定理
每個正整數均可表示爲4個整數的平方和。

m個不同的盒子內放入n個相同的小球的方案數(可以有空盒)
Cn+m1n 可以將m個盒子想象爲m-1塊隔板,最後和那個球放在一起就是n+m-1個,然後就是隔板的選法Cn+m1m1 和前面的選法是相同的。
當不能有空盒時先給每一個盒子內放1個然後剩下的小球按照上面的方法方就好了

排列組合公式
Cnm =Cnnm =Cn1m1 +Cn1m
Cn0 +Cn1 +Cn2 +…+Cnn =2n
Cnr +Cnr+1 =Cn+1r+1
Cnn +Cn+1n +Cn+2n +…+Cn+mn =Cn+m+1n+1
新方法打逆元表

void init() {  
    F[0] = 1;  
    for(int i = 1; i < MX; i++) {  
        F[i] = (F[i - 1] * i) % mod;  
    }  
    invF[MX - 1] = power(F[MX - 1], mod - 2);  
    for(int i = MX - 2; i >= 0; i--) {  
        invF[i] = invF[i + 1] * (i + 1) % mod;  
    }  
}  

從1到n所有值的異或值
if n % 4 == 0值爲n
if n % 4 == 1值爲1
if n % 4 == 2值爲n+1
if n % 4 == 3值爲0

unsigned xor_n(unsigned n)

{

 unsigned t = n & 3;

 if (t & 1) return t / 2u ^ 1;

 return t / 2u ^ n;

}

楊輝三角
第n行第m個數是Cnm ,當n&m==m成立時可以判斷Cnm 是奇數。

一個數的所有約數(包括自己)的歐拉函數之和,等於這個數本身的值
根據日期計算星期幾

int judge(int y,int m,int d)//返回星期幾
{
    if(m==1||m==2)
    {
        m+=12;
        y--;
    }
    return ((d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7)+1;
}

k1和k2互素,結論是k1*k2和k1+k2也是互素的。

錯排公式

    ans[1]=0;
    ans[2]=1;
    ans[3]=2;
    for(int i=4;i<=20;i++)
        ans[i]=(i-1)*(ans[i-1]+ans[i-2]);

四大定理
1.威爾遜定理
(p1)!1modp ,p爲質數。
2.歐拉定理
phi(n),小於n和n互素的數字個數。
在 [1,n] 中與 n 互素的數的和爲:phi(n)n2
3.費馬小定理
a(p1)1modp ,p是質數,且p不能整除a。
4.費馬大定理
當整數n >2時,關於x, y, z的方程 xn+yn=zn 沒有正整數解。

從0開始每次跳a步,上限是m-1,可以無限次的跳,則跳過得值是gcd(m,a)的倍數

持續更新中………

發佈了110 篇原創文章 · 獲贊 18 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章