辗转相除法
来源:互联网 发布:淘宝刷钻平台源码 编辑:程序博客网 时间:2024/06/04 19:00
证:gcd(a,b) = gcd(b,a%b) (a > b)
设a = k1 * gcd(a,b)
b = k2 * gcd(a,b)
a = k3 * b + c
k1 * gcd(a,b) =k3 * k2 * gcd(a,b) + c
c = a % b = (k1 - k2 * k3) * gcd(a,b)
所以a,b的最大公约数即b,c的最大公约数,且,每2次区间减小一半,效率高。
#include <iostream>
using namespacestd;
int gcd(int a,int b)
{
int t;
if (a < b) {
t = a;
a = b;
b = t;
}
while (b !=0) {
t = a % b;
a = b;
b = t;
}
return a;
}
0 0
- 辗转相除法
- 辗转相除法
- 辗转相除法
- 辗转相除法
- 辗转相除法
- 辗转相除法
- 辗转相除法 最大公约数
- 辗转相除法
- 辗转相除法
- 辗转相除法
- 辗转相除法
- 辗转相除法
- 温习辗转相除法
- 辗转相除法
- 辗转相除法
- 辗转相除法
- 证明辗转相除法
- 辗转相除法
- Java---IO流DateXxxStream
- ImageLoader三级缓存和清除缓存
- Zookeeper的Paxos分布式一致性算法-类比
- luogu P1217 [USACO1.5]回文质数 Prime Palindromes
- Java NIO 系列教程
- 辗转相除法
- VS2013+Opencv3.0开发环境的搭建
- c++ Windows下超时文件删除
- 表达式求值
- POJ3259 Wormholes
- 最小乘车费用
- 判断网络连接
- SpringMVC 集成velocity
- JVM理解