最大公约数
求两个数的最大公约数用辗转相除法。代码如下:
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));
}
}