蓝桥杯核桃问题:最小公倍数和最大公约数

最大公约数

求两个数的最大公约数用辗转相除法。代码如下:

int GCD(int a, int b){
    int gcd;
    while(b != 0){
        gcd = a % b;
        a = b;
        b = gcd;
    }
    gcd = a;
    return gcd;
}

最小公倍数

那么两个数的最小公倍数gcm = a*b/GCD(a,b)。

int GCM(int a, int b){
    int gcd;
    gcd = GCD(a, b);
    return a * b / gcd;
}

蓝桥杯核桃问题

import java.util.Scanner;
import java.util.*;
public class Main
{
    public static int GCD(int a,int b){
        int gcd;
        while(b != 0){
            gcd = a % b;
            a = b;
            b = gcd;
        }
        gcd = a;
        return gcd;
    }

    public static int GCM(int a,int b){
        int gcd = GCD(a, b);
        int gcm = a*b/gcd;
        return gcm;
    }

    public static void main(String[] args){
	    Scanner scan = new Scanner(System.in);
	    int a = scan.nextInt();
	    int b = scan.nextInt();
	    int c = scan.nextInt();
		
	    int part_max = GCM(a,b);
		
	    System.out.println(GCM(part_max,c));
    }
}

猜你喜欢

转载自blog.csdn.net/a429367172/article/details/88648086