
数论
q437634645
这个作者很懒,什么都没留下…
展开
-
欧几里得算法
欧几里德算法:证明:gcd(a,b)=gcd(b,a%b)(a>b)(模算术(a+b)%c=(a%c+b%c)%c)因为a%b=a-k*b,显然式子中a和b的最大公约是gcd(a,b) 扩展欧几里德算法:求解ax+by=k*gcd(a,b)的整数解设:ax1+ by1= gcd(a,b)bx2+ (a%b)y2= gcd(b,a%b)因为gcd(a,b)=g原创 2015-11-02 22:10:48 · 357 阅读 · 0 评论 -
乘法逆元
乘法逆元:设ax≡1%b,则称x为a关于模b的乘法逆元。 Q:为什么要使用乘法逆元呢?A:假设要求(a/b)%c,a非常大(求出a的过程超出整型范围)无法直接求出值,所以希望可以想但是除法没有对应的模算术,所以出现了乘法逆元。证明:设bx≡1%c,则b*x=p*c+1得x=(p*c+1)/b把x带入(a*x)%c中,变为 [a*(p*c+1)/b]%c=[(a*原创 2015-11-02 22:26:34 · 298 阅读 · 0 评论 -
HDU 5768(中国剩余定理+容斥定理)
题目描述:计算(a,b)内能被7整除且不满足给定条件的数有多少个。首先找出能被7整除的数,再除去能被7整除且满足一个条件的数,这可能会把满足两个条件的数减去两次,所以要加上即为容斥定理。代码如下:#include #include #include #include using namespace std;#define ll long longconst i原创 2016-07-29 21:18:47 · 406 阅读 · 0 评论