欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。 递归版算法: 递归优化版: 迭代版: 扩展欧几里德算法 基本算法:对于不完全为 0 的非负整数 a ...
分类:
编程语言 时间:
2017-07-16 00:49:26
阅读次数:
353
题目描述 欧几里德的两个后代Stan和Ollie正在玩一种数字游戏,这个游戏是他们的祖先欧几里德发明的。给定两个正整数M和N,从Stan开始,从其中较大的一个数,减去较小的数的正整数倍,当然,得到的数不能小于0。然后是Ollie,对刚才得到的数,和M,N中较小的那个数,再进行同样的操作……直到一个人 ...
分类:
其他好文 时间:
2017-07-09 17:12:20
阅读次数:
199
转自:http://www.cnblogs.com/frog112111/archive/2012/08/19/2646012.html 基本状态:对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然存在整数对 x,y ,使得 gcd(a,b)=ax+by。 证明: ...
分类:
编程语言 时间:
2017-07-05 13:20:09
阅读次数:
251
欧几里德算法又称为辗转相除法,用于计算两个非负整数的最大公因数。其伪代码如下: gcd(a, b) //要求保证传入的a>=b if(b == 0) return a return gcd(b, a % b) 首先说明这个函数能返回a与b的最大公因数。但是我们不从代码到原理,我们要从原理返回代码。( ...
分类:
编程语言 时间:
2017-07-04 01:06:08
阅读次数:
437
欧几里得& 拓展欧几里得(Euclid & Extend-Euclid) 欧几里得算法(Euclid) 背景: 欧几里德算法又称辗转相除法。用于计算两个正整数a。b的最大公约数。 ——百度百科 代码: 递推的代码是相当的简洁: int gcd(int a,int b) { return b == 0 ...
分类:
编程语言 时间:
2017-07-03 16:14:02
阅读次数:
173
洛谷P1290 欧几里德的游戏 数学 博弈论 模拟 这道题我们因为当 x 大于 y 时 你也只能在合法范围 内取 1 个 y 两个 y 也就是说 能取的y大于等于2时,则你本质不同的取法共有两种,此时你必定获胜,因为本质不同,而在最优策略下,则说明胜利者也不同,也就是说这时候你可以决定自己的输赢 , ...
分类:
其他好文 时间:
2017-06-26 20:01:12
阅读次数:
132
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2669 Problem Description The Sky is Sprite. The Birds is Fly in the Sky. The Wind is Wonderful. Blew Th ...
分类:
其他好文 时间:
2017-06-23 18:16:47
阅读次数:
187
扩展欧几里德 ax=b(mod c),求最小的x 先说一下扩展欧几里得定理:对于不完全为0的整数a,b,gcd(a,b)表示a,b的最大公约数。那么一定存在整数x,y使得gcd(a,b)=ax+by。 求解x,y方法:设 a>b。 1,显然当b=0,gcd(a,b)=a。此时x=1,y=0; 2,a ...
分类:
其他好文 时间:
2017-06-22 18:43:59
阅读次数:
192
Description windy有一块矩形土地,被分为 N*M 块 1*1 的小格子。 有的格子含有障碍物。 如果从格子A可以走到格子B,那么两个格子的距离就为两个格子中心的欧几里德距离。 如果从格子A不可以走到格子B,就没有距离。 如果格子X和格子Y有公共边,并且X和Y均不含有障碍物,就可以从X ...
分类:
其他好文 时间:
2017-06-16 20:17:27
阅读次数:
197