자유롭게 게시물을 올릴수있는 게시판입니다.
  • 유년추억
  • 학교생활
  • 입시준비
  • 대학생활
  • 군생활
  • 알바생활
  • 취업준비
  • 직장생활
  • 원룸생활
  • 연애중
  • 결혼준비
  • 집안살림
  • 자녀교육
  • 창업준비
  • 이민유학
  • 노후생활
  • 전체보기


c언어 질문입니다.

 
C언어 과제가 있습니다... 문제는
---------------------------------------------------------------------------
거스름 동전 구하기
세상에 10원, 20원, 30원만이 있다고 하자.
100원 이하의 값을 입력하면 입력한 값에 해당하는 거슬러 줄 수 있는 동전의 경우의 수를 모두 구한다.



입력 : 100
출력 :
1 - 30원짜리 3개, 10원짜리 1개
2 - 30원짜리 2개, 20원짜리 2개
3 - 30원짜리 2개, 20원짜리 1개, 10원짜리 2개
4 - 30원짜리 2개, 10원짜리 4개
5 - 30원짜리 1개, 20원짜리 3개, 10원짜리 1개
6 - 30원짜리 1개, 20원짜리 2개, 10원짜리 3개
7 - 30원짜리 1개, 20원짜리 1개, 10원짜리 5개
8 - 30원짜리 1개, 10원짜리 7개
9 - 20원짜리 5개
10 - 20원짜리 4개, 10원짜리 2개
11 - 20원짜리 3개, 10원짜리 4개
12 - 20원짜리 2개, 10원짜리 6개
13 - 20원짜리 1개, 10원짜리 8개
14 - 10원짜리 10개
---------------------------------------------------------------------------
이것입니다.
프로그램은 제가 짜보려고 하는데 아이디어가 떠오르지 않습니다.
입력받은수는 0~100 사이수이고, 10의 배수로 입력받습니다.(0,10,20,...,90,100)
프로그램 중간에 switch case를 써서 10, 20, ,,,,, 의 각각의 경우를
구해서 직접 경우의수를 구해서 출력하려고 하는데,,
그건 너무 노가다 같네요;;;
제가 직접구해서 프린트하게 하는방법 말고, 컴퓨터가 구하게끔
할 수 있는 방법에 대해 아시면 대략의 설명좀 부탁드릴께요,,,
나머진 제가 해보겠습니다;

2005-04-14 23:59:32
1710 번 읽음
  총 4 개의 댓글이 있습니다.
  1. 1. 구라도리 '05.4.15 12:56 AM 신고
    음.
    if로 노가다 하는수밖에 우선 입력된 값을 가장 큰 30원으로 나누고 나머지가 나온다면 20원으로또나눠주고 나머지를 또10원으로해서 하면될거같은데요? 아마 나머지만 구하는함수 있을텐데요, ↓댓글에댓글
  2. 2. 구라도리 '05.4.15 12:58 AM 신고
    그작업이 끝나면 또 20원부터 그렇게,
    그작업이 끝나면 또 20원부터 그렇게, 노가다하면될듯, ↓댓글에댓글
  3. 3. 구라도리 '05.4.15 1:05 AM 신고
    사람에 따라 for도 쓸수있고, 별짓도 다 할수있을거같은데, 케이스를사용한다는것은 이해가안가네요, ↓댓글에댓글
  4. 4. Tommy '05.4.15 10:55 AM 신고
    백 트래킹 알고리즘을 사용하세요.
    http://koi4u.byus.net/lecture/lecture4.htm

    참고사이트입니다. >_ ↓댓글에댓글
☞ 로그인 후 의견을 남기실 수 있습니다
 캐시선물





365ch.com 128bit Valid HTML 4.01 Transitional and Valid CSS!
태그