資源簡介
這是一個古老而又經(jīng)典的問題。用給定的幾種錢幣湊成某個錢數(shù),一般而言有多種方式。例如:給定了6種錢幣面值為2、5、10、20、50、100,用來湊 15元,可以用5個2元、1個5元,或者3個5元,或者1個5元、1個10元,等等。顯然,最少需要2個錢幣才能湊成15元。
你的任務(wù)就是,給定若干個互不相同的錢幣面值,編程計算,最少需要多少個錢幣才能湊成某個給出的錢數(shù)。

代碼片段和文件信息
#include
#include
void?main()
{
FILE?*fp;
int?num=0money[100];
int?n=0icount;
for(i=0;i<100;i++)
money[i]=0;
if((fp=fopen(“qianbi.in““r“))==NULL)
{
printf(“Can?not?read?file!\n“);
return;
}
while(fscanf(fp“%d“&num)&&num!=0)
{
fscanf(fp“%d“&n);
for(i=0;i {
fscanf(fp“%d“&money[i]);
}
count=0;
i=n-1;
while(1)
{
if(num i--;
else?
{
num=num-money[i];
count++;
}
if(num==0||i<0)
break;
}
if(num==0)
printf(“%d\n“count);
else?printf(“Imposible\n“);
}
fclose(fp);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????172079??2012-04-22?02:58??qianbi\Debug\qianbi.exe
?????文件?????187088??2012-04-22?02:58??qianbi\Debug\qianbi.ilk
?????文件???????3559??2012-04-22?02:58??qianbi\Debug\qianbi.obj
?????文件?????220236??2012-04-22?02:33??qianbi\Debug\qianbi.pch
?????文件?????443392??2012-04-22?02:58??qianbi\Debug\qianbi.pdb
?????文件??????33792??2012-04-22?02:58??qianbi\Debug\vc60.idb
?????文件??????53248??2012-04-22?02:58??qianbi\Debug\vc60.pdb
?????文件????????639??2012-04-22?02:59??qianbi\qianbi.cpp
?????文件???????3401??2012-04-22?02:33??qianbi\qianbi.dsp
?????文件????????535??2012-04-22?03:08??qianbi\qianbi.dsw
?????文件?????????33??2012-04-22?02:09??qianbi\qianbi.in
?????文件??????33792??2012-04-22?03:08??qianbi\qianbi.ncb
?????文件??????48640??2012-04-22?03:08??qianbi\qianbi.opt
?????文件???????1117??2012-04-22?02:58??qianbi\qianbi.plg
?????目錄??????????0??2012-04-22?02:58??qianbi\Debug
?????目錄??????????0??2012-04-22?03:08??qianbi
-----------?---------??----------?-----??----
??????????????1201551????????????????????16
評論
共有 條評論