【算法与数据结构】最大公约数和最小公倍数的Java程序

GCD最大公约数

方法:欧几里得算法(辗转相除法),

【思想】递归

【思路】

【代码】

1 public class Main {
2     public static int gcd(int p, int q) {
3         if (q == 0) {
4             return p;
5         }
6         int r = p % q;
7         return gcd(q, r);
8     }
9 }

LCM最小公倍数

追求方便公式法求解。

【思路】

【代码】

 1 public class Main {
 2     public static int gcd(int p, int q) {
 3         if (q == 0) {
 4             return p;
 5         }
 6         int r = p % q;
 7         return gcd(q, r);
 8     }
 9     public static int lcm(int a, int b) {
10         return (a * b)/gcd(a, b);
11     }
12 }

 

posted @ 2017-08-27 13:53  菜鸟更要虚心学习  阅读(475)  评论(0编辑  收藏  举报