输入两个正整数m和n,求其最小公倍数和最大公约数

package practices;

import java.util.Scanner;

/**

  • @Title: 输入两个正整数m和n,求其最小公倍数和最大公约数

  • @Package: practices

  • @Description:TODO

  • @author: 陈帆

  • @date: 2019年5月30日 下午10:11:59

  • @version V1.0
    */
    public class GCD_and_LCM {

    public static void main(String[] args) {
    System.out.println(“请输入两个整数,按Enter键结束!”);
    Scanner s = new Scanner(System.in);
    int a = s.nextInt();
    int b = s.nextInt();
    GCD_and_LCM gl = new GCD_and_LCM();
    System.out.println(a+“和”+b+“的最大公约数和最小公倍数分别为:”);
    System.out.println(gl.gcd(a, b));
    System.out.println(gl.lcm(a, b));
    }

    //最大公约数的算法,辗转相除法
    public int gcd(int a,int b) {
    if(b==0) {
    return a;
    }else {
    while(b!=0) {
    int r=a%b;
    a=b;
    b=r;
    }
    }
    return gcd(a, b);
    }

    //求最小公倍数的算法
    public int lcm(int a,int b) {
    //a乘以b除以他们两个的最大公约数
    return a*b/gcd(a, b);
    }
    }

你可能感兴趣的:(面试编程题)