题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1576 题意:要求(A/B)%9973,但由于A很大,我们只给出n(n=A%9973)(我们给定的A必能被B整除,且gcd(B,9973) = 1)。 普通版欧几里得算法(辗转相除): 扩展欧几里得算法( ...
分类:
编程语言 时间:
2017-05-24 09:59:39
阅读次数:
278
欧几里得算法:也被称作辗转相除法 gcd(a,b)=gcd(b,a%b); 终止条件a=gcd b=0; (gcd为a,b的最大公约数) 扩展欧几里得算法: a 和 b 的最大公约数是 gcd ,一定能够找到这样的 x 和 y ,使得: a*x + b*y = gcd 成立 我们只需要找到特殊解x0 ...
分类:
编程语言 时间:
2017-05-23 00:33:19
阅读次数:
191
逆元: 丢线 对于正整数和,如果有,那么把这个同余方程中的最小正整数解叫做模的逆元。 逆元一般用扩展欧几里得算法来求得,如果为素数,那么还可以根据费马小定理得到逆元为。 推导过程如下 求现在来看一个逆元最常见问题,求如下表达式的值(已知)(|为整除号) 当然这个经典的问题有很多方法,最常见的就是扩展 ...
分类:
其他好文 时间:
2017-05-20 22:41:20
阅读次数:
331
一、斐波那契数列: 1 #include<iostream> 2 #include<cmath> 3 using namespace std; 4 int main() 5 { 6 double a,n,ans; 7 cin>>n; 8 //n--; //(第一项是0时) 9 a=sqrt(5); ...
分类:
其他好文 时间:
2017-04-20 23:16:48
阅读次数:
219
1、欧几里得算法 带余除法定理:a,b∈Z,其中b>0,存在唯一q及r,使a=bq+r,其中0<=r<b; 辗转相除法(欧几里得算法)依据:(a,b)=(b,r) C++实现: 2.扩展欧几里得算法(裴蜀定理) 其中a,b是任意两个不全为0的整数,则存在两个整数x,y,使得ax+by=(a,b); ...
分类:
其他好文 时间:
2017-04-20 23:13:05
阅读次数:
188
扩展欧几里得算法模板 1.对于形如a*x0 + b*y0 = n的不定方程为了求解x0和y0,可以通过扩展欧几里得先求出满足a*x + b*y = gcd(a, b)的x和y。 2.容易得到,若(x-y)%gcd(a,b)==0,则该不定方程有整数解,否则无符合条件的整数解。 3.得到x和y后,可以 ...
分类:
编程语言 时间:
2017-04-08 12:56:56
阅读次数:
270
求两个数的最大公约数 最小公倍数 = a * b / gcd(a,b),注意精度; ax+by+c = 0 直线上有多少个整点 (x,y) 满足 x 属于 [x1,x2],y 属于 [y1,y2]。这是扩展欧几里得算法: 首先解决扩展欧几里得 ax + by = gcd(a,b),x,y为整数; 找 ...
分类:
其他好文 时间:
2017-04-04 13:21:14
阅读次数:
158
http://poj.org/problem?id=1061 思路: 搞懂这个扩展欧几里得算法花了不少时间,数论真的是难啊。 含义:找出一对整数,使得ax+by=gcd(a,b)。 接下来看这道题目,(x+mt)-(y+nt)=kl,转换成(n-m)t+kl=x-y。 令a=n-m,b=l,c=x- ...
分类:
编程语言 时间:
2017-03-19 11:57:51
阅读次数:
245
取模: a%b b定是正整数,尽管语言上b<0合法。/b=0出现除0错 (a+b)mod n=((a mod n)+(b mod n)) mod n (a-b)mod n=((a mod n)-(b mod n)+n)mod n //注意减法, a mod n 可能小于 b mod n 结果需加上n ...
分类:
其他好文 时间:
2017-02-13 23:48:29
阅读次数:
367
题目大意: 题目大意: 题目大意: 一个正整数K,给出K Mod一些质数的结果,求符合条件的最小的K。例如,K%2=1,K%3=2,K%5=3符合条件的最小的K=23。 一个正整数K,给出K Mod一些质数的结果,求符合条件的最小的K。例如,K%2=1,K%3=2,K%5=3符合条件的最小的K=23 ...
分类:
其他好文 时间:
2017-02-11 12:21:53
阅读次数:
170