![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
codehappy123
这个作者很懒,什么都没留下…
展开
-
剩余定理(求解同于方程组)
int Chinese_Remainder(int a[],int w[],int len)//中国剩余定理 a[]存放余数 w[]存放所有的模数{ int i,d,x,y,m,n,ret; ret = 0; n = 1; for(i = 0; i < len; i++) n *= w[i]; for...原创 2019-08-06 10:45:27 · 121 阅读 · 0 评论 -
欧拉函数
int oula(int n){ int res = n, a = n; for(int i=2; i*i<=a; ++i){ if(a%i==0){ res = res/i*(i-1); while(a%i==0) a = a/i; } } if(a>1)res=res/a*(a-1); return res;}原创 2019-08-06 10:30:20 · 439 阅读 · 0 评论 -
拓展欧几里得(求解 ax+by=c 求x,y)
int extend_Euclid(int a, int b, int &x, int &y){ if(b==0) { x = 1; y = 0; return a; } int r = extend_Euclid(b, a%b, y, x); y -= a/b*x; //这里已经是递归,回...原创 2019-08-06 10:23:41 · 1170 阅读 · 0 评论 -
卢卡斯定理(求有限模数(最大1e6),C(n,m))
#include<iostream>//#include<algorithm>using namespace std;typedef long long ll;int quick_power_mod(int a,int b,int m)//pow(a,b)%m{ int result = 1; int base = a; while(b>0) {...原创 2019-08-06 11:21:45 · 179 阅读 · 0 评论