lkm9709   3년 전

import java.util.Arrays;

import java.util.Scanner;

public class No1145 {

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner sc = new Scanner(System.in);

int[] set = new int[5];

int[] min = new int[10];

int mincount = 0;

for(int i = 0; i < 5; i++) {

set[i] = sc.nextInt();

}

for(int i = 0; i < 5; i ++) {

for(int j = 0; j < 5; j++) {

if(i < j) {

int big, small, tmp;

if(set[i] > set[j]) {

big = set[i];

small = set[j];

}else {

big = set[j];

small = set[i];

}

while(big%small != 0) {

tmp = small;

small = big%small;

big = tmp;

}

min[mincount] = (set[i]*set[j])/small;

mincount++;

}

}

}

int GCD = 1000000;

for(int i = 0; i < 10; i++) {

int count = 0;

for(int j = 0; j < 5; j++) {

if(min[i] % set[j] == 0) {

count++;

}

}

if(count >= 3) {

if(min[i] < GCD) {

GCD = min[i];

}

}

}

if(GCD == 1000000) {

Arrays.sort(set);

GCD = set[0] * set[1] * set[2];

}

System.out.print(GCD);

sc.close();

}

}

/////////// 최소공약수가 없을 경우 

제일 작은 수들을 곱한 것으로 최소공배수하는 것 까지 처리했는데

틀렸다고 나옵니다 ㅠ ㅠ

댓글을 작성하려면 로그인해야 합니다.