A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

public class Test_最大公约数最小公倍数 {
        public static void main(String[] args) {
                print(5550, 4);
        }
        private static void print(int m, int n) {
                // 最大公约数更相减损之术
                int a = m;
                int b = n;
                for (int x = 0; x < m + n; x++) {
                        if (a == b) {
                                System.out.println("最大公约数=" + a);
                                System.out.println("最小公倍数="+m*n/a);
                                break;
                        }
                        if (a < b) {
                                int t = a;
                                a = b;
                                b = t;
                        }
                        int t = b;
                        a = a - b;
                        b = t;
                }
        }
}


3 个回复

倒序浏览
我倒不讨喜欢崭除法
回复 使用道具 举报
// 崭除法
        private static void print1(int m, int n) {
                if (m == 0 || n == 0) {
                        System.out.println(-1);
                }
                if (m == n) {
                        System.out.println(m);
                }
                if (m < n) {
                        int t = m;
                        m = n;
                        n = t;
                }
                while (m != 0) {
                        //        int t = m%n;
                        int t=n%m;
                                n = m;
                                m = t;
                }
                int yue=n;
                System.out.println(yue);
        }
回复 使用道具 举报
求解3个数的公约数,崭除法好还是更相减损之术好些?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马