求最大公约数和最小公倍数
今天看到了这个求最大公约数和最小公倍数的题目,主要是方法够简洁,递归实现的,分享一下:
//题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 public static int[] method6(int m, int n) { //数组中第一个数放最大公约数,第二个数放最小公倍数 int[] arr = new int[2]; //保证m要大于n,否则就交换值 if (m < n) { int temp = n; n = m; m = temp; } int gy = gy(m, n); arr[0] = gy;//最大公约数 arr[1] = m * n / gy;//最小公倍数 return arr; } //获取最大公约数 public static int gy(int a, int b) { if (a % b == 0) return b; return gy(b, a % b); }
--------------以上皆原创,给未来的自己留下一点学习的痕迹!--------