java求最大公约数和最小公倍数
2017-06-14 20:33
363 查看
其实就是反复利用乘2和除以2来获得最终的结果,
求最大公约数
代码如下:
代码如下:
求最大公约数
代码如下:
public class ZuiDaGongYueShu { public static int gcd(int a, int b){ int m,n,r; if (a > b){ m = a; n = b; } else{ m = b; n = a; } if (n == 0) { return m; } if (m%2 == 0 && n % 2 == 0){ return 2*gcd(m/2,n/2); } if (m%2== 0){ return gcd(m/2,n); } if(n % 2 == 0){ return gcd(m,n/2); } return gcd((m+n)/2,(m - n)/2); } public static void main(String[] args) { int a , b ,r; Scanner sc = new Scanner(System.in); System.out.println("输入第一个值:"); a = sc.nextInt(); System.out.println("输入第二个值:"); b = sc.nextInt(); r = gcd(a,b); System.out.println(r); }求最小公倍数其实
代码如下:
public class ZuiXiaoGongYueShu { public static int gcd(int a, int b){ int m,n,r; if (a > b){ m = a; n = b; } else{ m = b; n = a; } if (n == 0) { return m; } if (m%2 == 0 && n % 2 == 0){ return 2*gcd(m/2,n/2); } if (m%2== 0){ return gcd(m/2,n); } if(n % 2 == 0){ return gcd(m,n/2); } return gcd((m+n)/2,(m - n)/2); } public static int lem(int a,int b){ int c,d; c = gcd(a,b); d = (a*b)/c; return d; } public static void main(String[] args) { int a , b ,r; Scanner sc = new Scanner(System.in); System.out.println("输入第一个值:"); a = sc.nextInt(); System.out.println("输入第二个值:"); b = sc.nextInt(); r = lem(a,b); System.out.println(r); } }
相关文章推荐
- [Java]练习题006: 求两个数的最大公约数和最小公倍数
- Java求最大公约数与最小公倍数
- 用辗转相除法求最大公约数和最小公倍数(附Java源码)
- java 求最大公约数和最小公倍数
- java 求最大公约数和最小公倍数
- [Java]练习题006: 求两个数的最大公约数和最小公倍数
- java中求两个数的最小公倍数,最大公约数的简便方法
- java求多个数的最大公约数和最小公倍数
- 南邮ACM 1015 最大公约数和最小公倍数 JAVA解法
- java求最大公约数,最小公倍数,斐波那契数列
- Java求最大公约数和最小公倍数
- 用java中继承和方法重写实现求最大公约数和最小公倍数
- Java求两个正整数的最大公约数和最小公倍数
- java中请给出例子程序:找出两个数的最大公约数和最小公倍数
- java——求最大公约数和最小公倍数
- Java学习笔记10:求两个数的最小公倍数和最大公约数
- Java学习历程(关于最大公约数和最小公倍数)
- Java实现求最大公约数和最小公倍数
- 黑马程序员——java基础——练习题:键盘输入两个正整数求两个数的最大公约数和最小公倍数
- java基础语法练习--求出两数的最大公约数和最小公倍数