主题:谁能帮我换钞票?
chenzhong
[专家分:250] 发布于 2005-08-11 22:22:00
把一张一元钞票换成一分、二分和五分的硬币(每种至少一枚)。有哪几种换法?
你能帮我吗???[em18]
回复列表 (共17个回复)
沙发
QQ331373582 [专家分:1500] 发布于 2005-08-12 10:54:00
var a,b,c:integer;
begin
for a:=1 to 98 do begin
for b:=1 to 50 do begin
for c:=1 to 20 do begin
if(a+2*b+5*c=100)then writeln(a:2,b:2,c:2);
end;
end;
end;
end.
板凳
dsqxiaoxue [专家分:10] 发布于 2005-08-12 10:57:00
同意楼上!!
3 楼
zhsas [专家分:1680] 发布于 2005-08-12 12:37:00
还可以进下一步优化减少循环次数.
4 楼
chenzhong [专家分:250] 发布于 2005-08-12 17:23:00
麻烦写出来
5 楼
口口and枕头 [专家分:1550] 发布于 2005-08-13 12:15:00
这种题都做烂罗~~
这种简单的题用不着优化,优化也只是用人脑代替电脑计算,来减少循环,对于这种简单题来说,个人认为没用必要~~
呵呵
6 楼
chenzhong [专家分:250] 发布于 2005-08-13 14:33:00
对于初学者来说,不分难与简单,主要的理解。
我是来这里学习的,各位全是老师,感谢各位了!!
[em2][em2]
7 楼
lzl1403 [专家分:1670] 发布于 2005-08-14 21:52:00
我们老师曾说有一种很优化的方法:
用a[i]存储币值(单位:元),共n种币值,要求m元钱的换法:
b[0]:=1;
for i:=1 to m do
b[i]:=0;
for i:=1 to n do
for j:=i to m do
b[j]:=b[j]+b[j-i];
求出的b[m]即为所求.
其实b[k]即为用以上币值换k元钱的方法数
8 楼
lzl1403 [专家分:1670] 发布于 2005-08-14 21:54:00
以上方法求的只是方法数,且不是所有币值都至少用一次
9 楼
口口and枕头 [专家分:1550] 发布于 2005-08-14 22:04:00
看不懂
10 楼
林记 [专家分:1680] 发布于 2005-08-14 22:06:00
每种至少用一次就是加个8分下去
我来回复