算法
诗佳琼玉
代码人冲冲冲!!!
展开
-
判断两个数互质
定理:gcd(a,b) = gcd(b,a mod b) // a和b的最大公因数,a和b的大小没影响。 ①0和任意自然数的最大公约数就是那个自然数。 ②互质指最大公约数等于1的两个自然数。 ③1和任意数互质。 判断是否互质代码如下:(如果求最大公因数,输出b即可) bool isrp(int a, int b) { if(a==1 || b==1) // 两个正整数中,只有其中一个数值为1,两个正整数为互质数 return true; while(1) { //转载 2020-11-09 19:55:03 · 2001 阅读 · 0 评论 -
【同余定理+逆元+拓展欧几里得ax+by=gcd(a,b)】
【同余的定义】: 【同余的主要性质】: 【逆元】 定义: 就是一个数的倒数,那为什么要求一个数的倒数:比如a/b这个时候b的值特别大,就是导致double精度不够所以我们要将a/b换成a*c,其中c^-1=b. 【费马小引理求解逆元】:(易知费马定理是有限制的:a与p要互质) 代码实现:(精华就是快速幂) long long quickpow(long long a,long long b){ if(b<0) return 0; long long ret=1; a%=mod; while(原创 2020-10-25 10:26:56 · 263 阅读 · 1 评论