[Java] 31. 과일 공평하게 나누기

최대 공약수
백하림's avatar
Feb 10, 2025
[Java] 31. 과일 공평하게 나누기

1. 기본 문제

사과 12개🍎를 3명이 공평하게 나누려면 몇 개씩 나누면 될까?

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 + "개 받을 수 있습니다. "); } }
notion image

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 + "명에게 나누어 줄 수 있음. "); } }
notion image
Share article

harimmon