码迷,mamicode.com
首页 >  
搜索关键字:最大公约数    ( 1422个结果
ACM 辗转相除法(求最大公约数 )
DescriptionThere is a hill with n holes around. The holes are signed from 0 to n-1.A rabbit must hide in one of the holes. A wolf searches the rabbit ...
分类:其他好文   时间:2015-08-17 23:36:52    阅读次数:198
【动态规划】mr359-最大公约数之和
【题目大意】选取和不超过S的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大。输入一个正整数S。输出最大的约数之和。样例输入 Sample Input11样例输出 Sample Output9样例说明 取数字4和6,可以得到最大值(1+2)+(1+2+3)=9。数据规模对于30%的数据,S...
分类:其他好文   时间:2015-08-17 13:36:11    阅读次数:119
HDU 4630-No Pain No Game(线段树+离线处理)
题意:给你n个数的序列a,q个询问,每个询问给l,r,求在下标i在[l,r]的区间任意两个数的最大公约数中的最大值分析:有了hdu3333经验,我们从左向右扫序列,如果当前数的约数在前面出现过,那这个约数可能就是最大的答案。所以我们枚举当前数的所有约数,用线段树维护区间最大值,查询序列离线处理保证查...
分类:其他好文   时间:2015-08-16 21:19:50    阅读次数:127
欧几里得 & 拓展欧几里得算法 讲解 (Euclid & Extend- Euclid Algorithm)
欧几里得& 拓展欧几里得(Euclid & Extend-Euclid) 欧几里得算法(Euclid) 背景: 欧几里德算法又称辗转相除法,用于计算两个正整数a,b的最大公约数。 ——百度百科 代码: 递推的代码是相当的简洁: …. 分析: 方法说了是辗转相除法,自然没有什么好介绍的了。。 Fresh肯定会觉得这样递归下去会不会爆栈?实际上在这里是不会爆栈的,因为递归的层数是...
分类:编程语言   时间:2015-08-16 07:09:01    阅读次数:158
欧几里德算法(转)
欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。第一种证明: a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公...
分类:编程语言   时间:2015-08-12 18:19:00    阅读次数:127
Hdoj 1014 Uniform Generator
题目:点击打开链接 分析:题目要求均匀产生随机数,有两种方法:1 对产生的数进行标记 2 要产生随机数STEP和MOD的最大公约数不能超过1 代码一: #include #include int a1[100010]; int main() { int STEP,MOD; while(~scanf("%d%d",&STEP,&MOD)) { int i; in...
分类:其他好文   时间:2015-08-12 11:39:17    阅读次数:74
ACM数论中的常见的模板和结论
1:最大公约数的求法欧几里得算法实现。递归实现 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 __int64 gcd(__int64 y,__int64 x) 7 { 8 __int64 ans=0;...
分类:其他好文   时间:2015-08-11 23:15:25    阅读次数:103
曾经做过的40道程序设计课后习题总结(三)
曾经做过的40道程序设计课后习题总结(三) 课后习题目录 1 斐波那契数列 2 判断素数 3 水仙花数 4 分解质因数 5 杨辉三角 6 学习成绩查询 7 求最大公约数与最小公倍数 8 完全平方数 9 统计字母、空格、数字和其它...
分类:其他好文   时间:2015-08-11 12:29:46    阅读次数:298
Ural 1091 Tmutarakan Exams【容斥原理】
题目大意: 给你两个整数K和S,从小于等于S的非负整数中选择K个数,并且K个数的最大公约数大于1, 问总共有多少组。(2 <= K <= S <= 50)。 解题思路: 因为 2 <= K <= S <= 50,我们可以直接枚举质因数,求出从每个质因数的倍数中选择k个数 的组合数,累加起来即为方案个数,但是这样重复计算了很多情况。 例如:S = 20,K = 2。 2的倍数:2、4、6、8、10、12、14、16、18、20 3的倍数:3、6、9、12、15、18 5的倍数:5、10、15、20 7的倍数...
分类:其他好文   时间:2015-08-11 12:14:03    阅读次数:105
欧几里得算法实现、正确性证明及时间复杂度分析
求最大公约数的最常用的算法是欧几里得算法,也称为辗转相除法。问题定义为求i和j的最大公约数gcd(i,j),其中i和j是整数,不妨设i>j。算法可以递归的表示:1.如果j能整除i,那么gcd(i,j)=j;2.j不能整除i,令r=i%j,那么gcd(i,j)=gcd(j,r). 上面的算法对于ij....
分类:编程语言   时间:2015-08-11 10:00:37    阅读次数:129
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!