这个题目其实是求三个数的最小公倍数问题:
1.对三个数排序
2.求最小两个数的最小公倍数t
3.再求t与剩下的数的最小公倍数
while (x!=0) {
int temp2=y%x;
y=x;
x=temp2;
}
return i*j/y; //返回两数的最小公倍数
18%12=6;12%6=0;18*12/6=36
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int[] arr=new int[3];
for (int i = 0; i < arr.length; i++) {
arr[i]=sc.nextInt();
}
sort(arr);
int x=gbs(arr[0],arr[1]);
System.out.println(gbs(x, arr[2]));
}
private static int gbs(int i, int j) {
// TODO Auto-generated method stub
int x,y;
x=i;
y=j;
if (x>y) {
int temp1=x;
x=y;
y=x;
}
while (x!=0) {
int temp2=y%x;
y=x;
x=temp2;
}
return i*j/y;
}
private static void sort(int[] arr) {
// TODO Auto-generated method stub
for (int i = 0; i < arr.length-1; i++) {
for (int j = i+1; j < arr.length; j++) {
if (arr[i]>arr[j]) {
int temp;
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
}
}