大邱庄钢管:使用100,50,20,10,5,1,元的人民币,编写程序

来源:百度文库 编辑:中科新闻网 时间:2024/04/30 15:56:42
使用100,50,20,10,5,1,元的人民币,编写总额为489元所需的各种币值的最少张数,及总张数的程序并输出计算结果

....太强了,不过不合要求啊,要求只要一共最少的。
lz的意思应该是求总张数最少的那个就可以了吧。

void func(int total)
{
int min100, min50, min20, min10, min5, min1;

min100 = total / 100;
min50 = (total - 100 * min100) / 50;
min20 = (total - 100 * min100 - 50 * min50) / 20;
min10 = (total - 100 * min100 - 50 * min50 - 20 * min20) / 10;
min5 = (total - 100 * min100 - 50 * min50 - 20 * min20 - 10 * min10) / 5;
min1 = (total - 100 * min100 - 50 * min50 - 20 * min20 - 10 * min10 - 5 * min5);

printf("100元:%d张;50元:%d张;20元:%d张;10元:%d张;5元:%d张;1元:%d张;一共%d张\n",
min100, min50, min20, min10, min5, min1,
min100 + min50 + min20 + min10 + min5 + min1);
}

void main()
{
func(489);
}

用什么语言啊?这么BT的题,怎么这样多的币值
C语言:
for (a=0;a<5;a++)
for (b=0;b<10;b++)
for (c=0;c<25;c++)
for (d=0;d<49;d++)
for (e=0;e<98;e++)
for (f=0;f<499;f++)
if (a*100+b*50+c*20+d*10+e*5+f*1)=489
printf("100元:%d\t50元:%d\t20元:%d\t5元:%d\t%1元:d%d",a,b,c,d,e,f);
end

这些算法太麻烦了点了

用英语编写。。哈哈。。。开玩笑,莫见怪。。

算法简单,不用再去优化了,估计用上再怎么好的算法,时间也不会提高多少。

楼上的算法效率 o(n^6) ,不合适!