본문 바로가기
알고리즘/수학 퍼즐

[수학 퍼즐 / java] 05. 아직도 현금으로 계산하다니!

by drCode 2021. 3. 23.
728x90
반응형

안녕하세요.

이번 포스팅은 프로그래머의 뇌를 단련하는 수학퍼즐 5번문제인 아직도 현금으로 계산하다니! 를 풀어보겠습니다

 

요즘에는 지하철이건 버스건 전자 화폐가 당연시 된다.

하지만, 아직도 현금으로 계산하는 사람도 있다.

이번에는 현금으로 내는 사사람을 위한 동전 교환기를 떠올려 보자.

이 기계는 10원, 50원, 100원, 500원 동전으로 섞어서 교환할 수 있고 모든 동전은 충분한 개수가 마련되어 있다고 가정한다.

문제

1,000원 지폐를 넣었을 때 나오는 동전의 조합이 몇 가지인지 구해보시오.

동전의 순서는 무시한다.

 

package changePaperToCoin;

import java.util.Scanner;

public class ChangePaperToCoin {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("지폐 투입은 얼마로 하실래요? : ");
        int money = input.nextInt(), count=0;
        for(int fiveHundred = 0; fiveHundred <= money/500; fiveHundred++) {
            for(int oneHundred = 0; oneHundred <= money/100; oneHundred++) {
                for(int fifty = 0; fifty <= money/50; fifty++) {
                    for(int ten = 0; ten <= money/10; ten++) {
                        if((fiveHundred*500 + oneHundred*100 + fifty*50 + ten*10) == money) {
                            count++;
                            System.out.printf("동전교환 경우 %d = 500원 : %d개, 100원 : %d개, 50원 : %d개, 10원 : %d개%n", count, fiveHundred, oneHundred, fifty, ten);
                        }
                    }
                }
            }
        }

        System.out.println("총 동전 교환 경우의 수 : " + count + "개");
    }
}

정답 : 158개

 

728x90
반응형

댓글