1. 기본 문제
package algo;
public class GCD02 {
public static void main(String[] args) {
// 사과 12개를 3명이 공평하게 나누려면 몇 개씩 나누면 될까?
// 1. 사과의 개수를 저장할 변수
int a = 12;
// 2. 사람의 명수를 저장할 변수
int b = 3;
// 3. 몫 = 사과 개수 / 사람 명수
int c = a / b;
System.out.println("한 사람 당 " + c + "개 받을 수 있습니다. ");
}
}

2. 심화 문제
사과 12개🍎, 바나나 18개🍌, 귤 24🍊를 같은 개수로 최대한 공평하게 나눌 때,
한 사람 당 받을 개수는 ?
package algo;
public class GCD03 {
public static void main(String[] args) {
// 사과 12개🍎, 바나나 18개🍌, 귤 24🍊를 같은 개수로 최대한 공평하게 나눌 때, 한 사람 당 받을 개수는 ?
// 사과의 개수를 저장할 변수
int apple = 12;
// 바나나의 개수를 저장할 변수
int banana = 18;
// 귤의 개수를 저장할 변수
int orange = 24;
// 사과, 바나나, 귤의 최대 공약수 구하기
// Util.java 호출
int gcd = Util.gcd(apple, Util.gcd(banana, orange)); // 이렇게 적으면 한 번에 12,18,24의 최대 공약수를 구할 수 있음.
// System.out.println(gcd); 검증 절차
// 사과 개수 / 사람
int ap = apple / gcd;
// 바나나 개수 / 사람
int ba = banana / gcd;
// 귤 개수 / 사람
int or = orange / gcd;
System.out.println("사과 : " + ap + "\n" + "바나나 : " + ba + "\n" + "귤 : " + or);
System.out.println("총 " + gcd + "명에게 나누어 줄 수 있음. ");
}
}

Share article