题目:http://poj.org/problem?id=1845
题意:给定两个正整数和,求的所有因子和对9901取余后的值。
分析:很容易知道,先把分解得到,那么得到,那么
的所有因子和的表达式如下
但是你会发现费马小定理和扩展欧几里得算法求逆元是有局限性的,它们都会要求与互素...
分类:
其他好文 时间:
2016-03-30 17:59:37
阅读次数:
153
刚学习的扩展欧几里得算法,刷个水题 求解 线性不定方程 和 模线性方程 求方程 ax+by=c 或 ax≡c (mod b) 的整数解 1、ax+by=gcd(a,b)的一个整数解: <span style="font-size:14px;">void ex_gcd(int a,int b,int ...
分类:
其他好文 时间:
2016-03-29 19:22:43
阅读次数:
178
思路:先将A,B,C除以gcd(a,b),此时保证A,B已经互素,调用模板求出的特解x,y 只需乘上c即为答案
分类:
其他好文 时间:
2016-03-23 19:54:59
阅读次数:
142
扩展欧几里德算法 先介绍什么叫做欧几里德算法 有两个数 a b,现在,我们要求 a b 的最大公约数,怎么求?枚举他们的因子?不现实,当 a b 很大的时候,枚举显得那么的naïve ,那怎么做? 欧几里德有个十分又用的定理: gcd(a, b) = gcd(b , a%b) ,这样,我们就可以在几
分类:
编程语言 时间:
2016-03-22 22:01:34
阅读次数:
375
/*令(A/B)%9973=kA/B = k + 9973x --> A = kB + 9973*x*B, A%9973 = n >k*B%9973 = n >kB = n + 9973*y 故(k/n)B +(-y/n)*9973 = gcd(B,9973) = 1*/
分类:
其他好文 时间:
2016-03-19 12:39:39
阅读次数:
190
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=109329#problem/F;
关于欧几里得和扩展欧几里得算法请参阅:http://blog.csdn.net/qq_27599517/article/details/50888092;
题意:题目很简单,给出一组数求两两之间最大的最大公约数;
分析:这道题恶心在不给有多...
分类:
编程语言 时间:
2016-03-16 14:12:43
阅读次数:
197
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2669 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissio
分类:
其他好文 时间:
2016-03-15 12:08:29
阅读次数:
233
扩展欧几里得 题意:给你一个循环,有初始条件,终止条件,和变量的变化条件,问程序能执行多少次。 example: for(i=A;i!=B;i+=c){statement;}问题是保证所有的计算都在2的k次方以内,也就是说,要模以2^k 这个问题可以抽象成一个函数:A+C*x-y*2^k=B; 把这
分类:
其他好文 时间:
2016-02-23 13:03:18
阅读次数:
149
欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。 基本算法:设a=qb+r。当中a,b。q,r都是整数。则gcd(a,b)=gcd(b,r)。即gcd(a,b)=gcd(b,a%b)。 递归代码: __int64 gcd(__int64 a,__int64 b) { return b
分类:
其他好文 时间:
2016-02-21 22:45:30
阅读次数:
249