最大公约数问题
来源:互联网 发布:人工智能发展的看法 编辑:程序博客网 时间:2024/06/01 09:19
/** * 最大公约数 * @author Administrator * */public class FindGCD {/** * 解法一、辗转相除法即:f(x,y)=f(y,y%x) */public int gcd1(int x,int y){return (y<=0)?x:gcd1(y, x%y);}/** * 解法二、更相减损法 即:f(x,y)=f(y,x-y) */public int gcd2(int x,int y){if(y>x)return gcd2(y,x);if(y<=0)return x;elsereturn gcd2(x,x-y);}/** * 解法三、如果x、y均为偶数f(x,y)=2*f(x,y)=2*f(x>>1,y>>1) * 如果x为奇数y为偶数f(x,y)=f(x,y/2)=f(x,y>>1) * 如果x为偶数y为奇数f(x,y)=f(x/2,y)=f(x>>1,y) * 如果x、y都为奇数f(x,y)=f(y,x-y)相减之后必有一数为偶数重复以上步骤 */public int gcd3(int x,int y){if(x<y)return gcd3(y,x);if(y==0)return x;else{if(x%2==0){if(y%2==0)return gcd3(x>>1,y>>1);elsereturn gcd3(x>>1,y);}else{if(y%2==0)return gcd3(x,y>>1);elsereturn gcd3(y,x-y);}}}}
0 0
- 最大公约数问题
- 最大公约数问题
- 最大公约数问题
- 最大公约数问题
- 最大公约数问题
- 最大公约数问题
- 最大公约数问题
- 最大公约数问题
- 最大公约数问题
- 最大公约数问题
- 最大公约数问题
- 最大公约数问题
- 最大公约数问题
- 最大公约数问题
- 最大公约数问题
- 最大公约数问题
- 最大公约数问题
- 最大公约数问题
- .gitignore可以指定哪些文件不纳入版本库的管理
- swift 中 as as! as? 的区别0.0
- JAVA设计模式(3) —<创建型>单例模式(Singleton)
- iOS 基础-----关于UIView 的 frame 与 bounds
- 黑马程序员--网络编程
- 最大公约数问题
- CentOS共享文件夹给Windows端操作步骤
- 第一行代码笔记9(通知的基本用法)
- MySql:多表设计---外键
- nhaarman/ListViewAnimations 这个很牛逼啊
- hdu 1565 方格取数(1) 状态压缩dp
- Android 查看keystore SHA1并使用自定义keystore
- ios 底部弹出框菜单
- Android Studio来了,它能取代Eclipse吗?