题目描述 Description 求两个数A和B的最大公约数。 1<=A,B<=2^31-1 输入描述 Input Description 两个整数A和B 输出描述 Output Description 最大公约数gcd(A,B) 样例输入 Sample Input 8 12 样例输出 Sample
分类:
其他好文 时间:
2016-03-18 07:13:59
阅读次数:
133
基本思想:使用getline函数从TXT文件中依次读出中缀表达式,将其转为后缀表达式后计算结果,并与用户结果比对。 整数、分数、小数的处理:将小数和整数都视为默认分母为1的分数.建立分数类,在中缀转换成后缀时将整数和小数转换为分数. 关于求最大公约数所使用的辗转相除法在上一篇博文中已经写过。为了之后
分类:
其他好文 时间:
2016-03-13 22:25:48
阅读次数:
236
CodeForces 343A 这是第一题,像这种水题一定不要想复杂,思路不对立马换。 抓住串联和并联,可以用辗转相除法 CodeForces - 289A 这题考看懂题意。。 CodeForces 628B 这也是简单题,千万别先往复杂想。只要最后两个数字能被4整除,则这个数字就能被4整除
分类:
其他好文 时间:
2016-03-13 06:12:38
阅读次数:
174
int gcd(int a, int b)//求最大公约数,a为分子,b为分母 { if(b == 0) return a; return gcd(b,a%b); }
分类:
其他好文 时间:
2016-03-03 22:40:02
阅读次数:
147
1.辗转相除法 辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法。例如,求gcd(319,377):∵ 377÷319=1(余58)∴gcd(377,319)=gcd(319,58);∵ 319÷58=5(余29),∴ gcd(319,58)=gcd(58,29);∵ 58÷29=2
分类:
编程语言 时间:
2016-03-03 21:24:40
阅读次数:
212
比较愚钝,一点点数论花了好长时间才弄明白,小小总结下。 ①最大公约数 (辗转相除法) Function gcd(a,b:longint):longint; begin if b=0 then gcd:=a else gcd:=gcd(b,a mod b); end; ②最小公倍数 lcm(a,b)*
分类:
其他好文 时间:
2016-03-02 21:49:05
阅读次数:
156
序 求最大公约数的最常用的算法是欧几里得算法,也称为辗转相除法。问题定义为求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)。 C实现 i
分类:
其他好文 时间:
2016-02-25 15:16:03
阅读次数:
128
欧几里德算法又称辗转相除法,用于计算两个整数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
利用辗转相除法求 两数的最大公因数 或 最小公倍数 例如 求6497和3869的最大公因数和最小公倍数 6497÷3869=1……2628 3869÷2628=1……1241 2628÷1241=1……146 1241÷146=8……73 146÷73=2……0 则 最大公因数为 73 最小公倍数为
分类:
其他好文 时间:
2016-02-11 21:31:01
阅读次数:
179
辗转相除法(又称欧几里得算法)是求最大公因数的算法 要求a,b的最大公约数(a>b),我们可以递归地求b,a%b的最大公约数,直到其中一个数变成0,这时另一个数就是a,b的最大公约数。 C++实现: int gcd(int a,int b){ retuen b?gcd(b,a%b):a; } 或:
分类:
其他好文 时间:
2016-02-03 20:54:38
阅读次数:
245