回 帖 发 新 帖 刷新版面

主题:谁能帮我换钞票?

把一张一元钞票换成一分、二分和五分的硬币(每种至少一枚)。有哪几种换法?
你能帮我吗???[em18]

回复列表 (共17个回复)

沙发

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.

板凳

同意楼上!!

3 楼

还可以进下一步优化减少循环次数.

4 楼

麻烦写出来

5 楼

这种题都做烂罗~~
这种简单的题用不着优化,优化也只是用人脑代替电脑计算,来减少循环,对于这种简单题来说,个人认为没用必要~~
呵呵

6 楼

对于初学者来说,不分难与简单,主要的理解。
我是来这里学习的,各位全是老师,感谢各位了!!
[em2][em2]

7 楼

我们老师曾说有一种很优化的方法:
用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 楼

以上方法求的只是方法数,且不是所有币值都至少用一次

9 楼

看不懂

10 楼

每种至少用一次就是加个8分下去

我来回复

您尚未登录,请登录后再回复。点此登录或注册