美文网首页基础练习题
6 最大公约数和最小公倍数

6 最大公约数和最小公倍数

作者: 北极的大企鹅 | 来源:发表于2023-09-23 21:14 被阅读0次
  • 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
  • 代码分析:在循环中,只要除数不等于0,用较大数除以较小的数,
  • 将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,
  • 如此循环直到较小的数的值为0,返回较大的数,
    *此数即为最大公约数,最小公倍数为两数之积除以最大公约数。

      public class _006Deff {
 
      public static void main(String[] args) throws Exception {
          inout();
      }
  
      public static void inout() {
          Scanner scanner = new Scanner(System.in);
          while (true) {
             System.out.println("求最大公约数和最小公倍数 :");
             System.out.println("请输入一个数:");
             int a = scanner.nextInt();
             System.out.println("请输入另一个数:");
             int b = scanner.nextInt();
             count(a, b);
 
         }
     }

     private static void count(int x, int y) {
         _006Deff deff = new _006Deff();
         try {
             int m = deff.equals(x, y);
             int n = x * y / m;
             System.out.println("最大公约数是:" + m);
             System.out.println("最小公倍数是:" + n);

         } catch (Exception e) {
             throw new ArithmeticException("分母不能为零");
         }
     }
 
     public int equals(int x, int y) {
         int k;
         if (x < y) {
             k = x;
             x = y;
             y = k;
         }
 
         while (y != 0) {
             if (y == x) {
                 return x;
             } else {
                 int t = x % y;
                 x = y;
                 y = t;
             }
         }
         return x;
     }
 }
            

相关文章

网友评论

    本文标题:6 最大公约数和最小公倍数

    本文链接:https://www.haomeiwen.com/subject/ysuyvdtx.html