Java程序查找两个数字的LCM

两个值的LCM或最小公倍数是两个值的倍数中的最小正值。

例如3和4的倍数是:

3 → 3, 6, 9, 12, 15 ...4 → 4, 8, 12, 16, 20 ...

两者的最小倍数是12,因此3和4的LCM是12。

算法

  • 用正整数初始化A和B。

  •  将A和B的最大值存储到最大值。

  •  检查max是否可被A和B整除。

  •  如果可以整除,则将最大值显示为LCM。

  •  如果不能整除,则逐步增加最大值,请转到步骤3。

示例

public class LCMOfTwoNumbers {
   public static void main(String args[]){
      int a, b, max, step, lcm = 0;
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter first number ::");
      a = sc.nextInt();
      System.out.println("Enter second number ::");
      b = sc.nextInt();

      if(a > b){
         max = step = a;
      }
      else{
         max = step = b;
      }

      while(a!= 0) {
         if(max % a == 0 && max % b == 0) {
            lcm = max;
            break;
         }
         max += step;
      }
      System.out.println("LCM of given numbers is :: "+lcm);
   }
}

输出结果

Enter first number ::
6
Enter second number ::
10
LCM of given numbers is :: 30