主题:有问题 请教
maxff
[专家分:0] 发布于 2005-07-27 22:35:00
希望大家能用pascal编出下面这道题
要将一张100元的大钞票,换成 等值的10元 5元 2元 1元 一张的小钞票
要求每次换成40张小钞票,每种至少一张。编程输出所有可能算法 并适当考虑精简算法
回复列表 (共30个回复)
11 楼
maxff [专家分:0] 发布于 2005-08-03 21:48:00
是把
以后就多多感动把
12 楼
口口and枕头 [专家分:1550] 发布于 2005-08-04 09:38:00
还说我笑笑就得分,有人感动得的分比我还多,他还不服气~~~~
13 楼
MagicG [专家分:650] 发布于 2005-08-04 10:06:00
HOHO~~~~``
不过偶自从看了mo19880630的贴子,自尊心严重受挫中......
14 楼
口口and枕头 [专家分:1550] 发布于 2005-08-04 11:24:00
有这么老火吗?
15 楼
maxff [专家分:0] 发布于 2005-08-04 13:08:00
分数有那么重要吗?
16 楼
口口and枕头 [专家分:1550] 发布于 2005-08-04 14:05:00
??为什么只给我加分呀?我也不看重分数的只是觉得这是对别人的回答的一种肯定与感谢.magicG又要不高兴了~~呵呵
17 楼
MagicG [专家分:650] 发布于 2005-08-04 17:21:00
偶不是在乎分数,就象口口and枕头说的,那是一种对别人的肯定,进而就是对人的尊重,为什么受伤的总是偶````......
18 楼
青青0312 [专家分:110] 发布于 2005-08-04 22:15:00
大家都好厉害哟。。。
但是有没有时间更短点的了呢??
这样的多重循环应该很慢吧??
有一些其实就可以排除的啦~~~
例如,9个10元的根本不需要循环了啦~9*10+31*1>100
其实我也想要分的。。嘿嘿
19 楼
青青0312 [专家分:110] 发布于 2005-08-04 22:18:00
看看这样行不行。。。。
for i:=1 to 6 do
for j:=1 to 13 do
for k:=1 to 37 do
begin
if l:=40-i-j-k;
if (l>=1) and (i*10+j*5+k*2+l=100)
then writeln(i:5,j:5,k:5,l:5)
end;
20 楼
口口and枕头 [专家分:1550] 发布于 2005-08-05 00:18:00
我想说的是,如果你计算太多,循环是差少了,但是,你如果可以计算出这4个数就完全可以不用循环了`~这样会更快~~~
我来回复