求最大公约数最终算法
来源:互联网 发布:养成游戏app软件 编辑:程序博客网 时间:2024/05/08 06:56
http://blog.csdn.net/dy_0708/article/details/52831355
/** * Created by 50794 on 2016/10/17. */public class Test { static int num = 0; //计算两个数的最大公约数 public static int gcd(int a,int b){ System.out.println("第"+(++num)+"次进入。"); if(a == b){//如果两个数相等,那最大公约数就是它们本身 return b; } if(a > b){//保证a始终大于b //判断奇偶 if( (b&1)==0 && (a&1)==0){//如果两个数都是偶数, return gcd(a>>1,b>>1)<<1;//等于 gcd(a/2,b/2)*2;的写法。 }else if( (a&1)==1 && (b&1)==0){//如果a是奇数,b是偶数 return gcd(a,b>>1); }else if( (a&1)==0 && (b&1)==1){//如果a是偶数,b是奇数 return gcd(a>>1,b); }else{//如果a和b都是奇数 return gcd(b,a-b); } }else{ return gcd(b,a); } } public static void main(String []a){ System.out.println(gcd(10000,10001 )); }}
这是上面代码运行的结果,可以看到1w的数也只需进行37次计算(仅供参考)
0 0
- 求最大公约数最终算法
- Stein算法 求最大公约数
- 求最大公约数算法
- 求最大公约数的算法
- 算法----求最大公约数
- 求最大公约数的算法
- 求最大公约数的算法
- 求最大公约数算法
- [算法]求最大公约数
- 求最大公约数算法
- 求最大公约数的算法
- 求最大公约数的算法
- 欧几里德算法求最大公约数
- 欧几里德算法求最大公约数
- 欧几里德算法求最大公约数
- 欧几里德算法 求最大公约数
- 欧几里德算法--求最大公约数
- 欧几里德算法求最大公约数
- 实验六 聊天界面
- 4.zmodem的使用
- QT开发环境安装配置教程
- Java8中接口中可添加的default修饰方法体
- 位运算的巧用
- 求最大公约数最终算法
- 组合模式(composite)-设计模式(八)
- WebService,SOAP
- Hadoop机架感知
- 减肥真的能治疗打呼噜吗?
- linu搭建svn以及配置
- 安卓命名规范
- ScrollView里嵌套RecyclerView时,在RecyclerView上滑动时出现卡顿(冲突)的现象
- 极光推送之自定义广播接受者