1. 기본문제
사과 12개를 3명이서 공평하게 나누려면 몇 개씩 나누면 될까?
여기서 최대공약수(GCD)를 사용하면 각 사람에게 나눠야 할 개수를 쉽게 구할 수 있어요.import javax.crypto.spec.PSource;
public class GCD02 {
// 사과 12개를 3명이서 공평하게 나누려면 몇 개씩 나누면 될까?
// 여기서 최대공약수(GCD)를 사용하면 각 사람에게 나눠야 할 개수를 쉽게 구할 수 있어요.
public static void main(String[] args) {
int a = 12;
int b = 3;
int result = Util.gcd(a, b);
System.out.println("각 사람에게 나눠야 할 개수 : " + result);
}
}
2. 심화문제
사과 12개 🍎, 바나나 18개 🍌, 귤 24개 🍊을 같은 개수로 최대한 공평하게 나눌 때,
한 사람당 받을 개수는?public class GCD03 {
public static void main(String[] args) {
// 사과 12개 🍎, 바나나 18개 🍌, 귤 24개 🍊을 같은 개수로 최대한 공평하게 나눌 때,
// 한 사람당 받을 개수는?
int a = 12;
int b = 18;
int c = 24;
// 3개의 수의 최대 공약수 구하기
int d = Util.gcd(a, b);
int gcd = Util.gcd(d, c);
// 한사람이 받을 수 있는 사과의 개수
int apple = a / gcd;
int banana = b / gcd;
int orange = c / gcd;
System.out.println("한사람당 받을 사과의 개수 : " + apple);
System.out.println("한사람당 받을 바나나의 개수 : " + banana);
System.out.println("한사람당 받을 오렌지의 개수 : " + orange);
}
}

Share article