求大数的最大公约数的最高效方法
来源:互联网 发布:js加密 编辑:程序博客网 时间:2024/04/29 16:51
求大数x,y的最大公约数,用(x,y)表示x,y的最大公约数。
若x,y都为偶数,则(x,y)=2*(x>>1,y>>1);//>>1表示右移一位
若x为偶数,y为奇数,则(x,y)=(x>>1,y);
若y为偶数,x为奇数,则(x,y)=(x,y>>1);
若x,y都为奇数,则(x,y) = (y,x-y)。//x>y时
时间复杂度为O(log2(max(x,y)))。
int64 gcd(_int64 x,_int64 y){if(x < y)return gcd(y,x);if(y == 0)return x;else{if(x&1 == 0){if(y&1 == 0)return(gcd(x >> 1,y >> 1) << 1);elsereturn gcd(x >> 1,y);}else{if(y&1 == 0)return gcd(x,y >> 1);elsereturn gcd(y,x-y);}}}
- 求大数的最大公约数的最高效方法
- 求最大公约数和最小公倍数的最简单 高效的算法
- 高效的最大公约数求解法
- 求最大公约数的方法
- 用最简单的方法枚举法求最大公约数
- 求最大公约数方法的总结
- C语言求素数/质数最高效的方法
- 最大公约数最简洁的方法
- 高效的最大公约数算法
- 求两个数的最大公约数的方法
- 高效的求大数的幂和取余
- 求最大公约数和最小公倍数的方法
- 求最小公倍数和最大公约数的方法
- 求最大公约数的两种方法
- 求最大公约数的两种方法
- 求最大公约数的两种方法
- 求最大公约数的三种方法
- 求最大公约数的几种方法
- java关键字Transient
- S3C6410 UART控制器的简单配置(实现发送字符串功能)
- 非常有趣的3D图
- NGUI做技能冷却
- Linux Shell脚本编程--sed命令详解
- 求大数的最大公约数的最高效方法
- I/O空间映射 .
- smarty中section的使用
- 史玉柱:我过去自以为想成熟的,70%都是错的
- CAP定律理解
- AOP代理之动态代理
- Linux Shell脚本编程--grep命令详解
- SQL Join的一些总结inner join/outer join/cross join
- PHP Learning notes