。。。。
欧几里得定理 gcd(a,b)=gcd(b,a%b)
int dfs(int a,int b) { if (b==0) return a; dfs(b,a%b); }
扩展欧几里得定理 求ax*by=gcd(a,b)的解
#include<iostream> using namespace std; long long x,y; void exgcd(long long a,long long b) { if (b==0) { x=1; y=0; return; } exgcd(b,a%b); long long t=x; x=y; y=t-a/b*y; } int main () { long long a,b; cin>>a>>b; exgcd(a,b); cout<<x<<" "<<y; }
费马小定理
(a/b)%M=a*b^(M-2)%M
当M为质数时
a^(M-1)%M=1
欧拉定理:
若n,a为正整数,且n,a互素,即gcd(a,n) = 1,则
φ(n):所有小于n且与n互质的数
a^φ(n) ≡ 1 (mod n)
为何要逼自己长大,去闯不该闯的荒唐