实现最小公倍数算法

204次阅读  |  发布于3年以前

两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。整数a,b的最小公倍数记为[a,b],同样的,a,b,c的最小公倍数记为[a,b,c],多个整数的最小公倍数也有同样的记号。

与最小公倍数相对应的概念是最大公约数,a,b的最大公约数记为(a,b)。关于最小公倍数与最大公约数,我们有这样的定理:(a,b)x[a,b]=ab(a,b均为整数)。

python

# -*- coding: UTF-8 -*-
#!/usr/bin/python3


def  min(x,y):
    if x>y:
        min = x
    else:
        min = y
    while True:
        if(min%x==0) and (min%y==0):
            hcf = min;
            break;
        else:
            min+=1
    return hcf

x = int(input("请输入X:"))
y = int(input("请输入Y:"))
print( x,"和", y,"的最小公倍数为", min(x, y))

java

package org.java.base.algorithm;

import java.util.Scanner;

/**
 * @ClassName MInGBS
 * @Description TODO
 * @Author liuhaihua
 * @Date 2021/7/22 22:05
 * @Version 1.0
 */
public class MInGBS {
  public   static void main(String[] args){
    Scanner  sc = new Scanner(System.in);
    System.out.printf("请输入X:");
    int x = sc.nextInt();
    Scanner  sc2 = new Scanner(System.in);
    System.out.printf("请输入y:");
    int y = sc2.nextInt();
    System.out.printf("%d 和 %d 的最小公倍数%d",x,y,min(x,y));
  }
  public  static  int  min(int x,int y){
    int hcf =0;
    int min = 0;
    if(x>y){
      min = x;
    }else{
      min = y;
    }
    while(true){
      if((min%x==0)&&(min%y==0)){
        hcf = min;
        break;
      }else{
        min +=1;
      }
    }
    return  hcf;
  }

}

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8