최소의 동전수 (재귀)

☆C언어/소스 2013. 6. 23. 02:59

일단 완벽하지 않지만 답은 빠르게 찾게 만들었는데 더이상 소스 줄이는 방법은 모르겟다 +_+...

#include<stdio.h>

int func(int  coin[][4],int money,int num)

{

if(money==0)

{

printf("100원 : %d개\n 50원 : %d개\n 25원 : %d개\n 1원 : %d개\n",coin[1][0],coin[1][1],coin[1][2],coin[1][3]);

return 0;

}

if(money>=coin[0][num])

{

coin[1][num]++;

func(coin,money-coin[0][num],num);

}

else

{

func(coin,money,++num);

}

}

int main()

{

int coin[2][4]={{100,50,25,1},{0,0,0,0}}; //코인 종류 , 사용 코인 갯수

int num=0;

int money;


scanf("%d",&money);

func(coin,money,num);


return 0;

}

'☆C언어 > 소스' 카테고리의 다른 글

3n+1  (0) 2013.06.27
3n+1 재귀함수  (0) 2013.06.27
c언어 숫자 변수에 문자입력시 출력  (0) 2012.10.10
사다리  (0) 2012.09.12
달력 프로그램 설명  (0) 2011.10.14