很简单的题pascal

来源:百度知道 编辑:UC知道 时间:2024/06/03 18:10:28
将一张100元的大钞,换成等值的10、5、2、1一张的小钞。要求换成40张;
每种至少一张;
输出有多少种换法……

因为10元小钞最多9张,最少1张(已知条件),所以十元小钞的个数循环为1到9,5元小钞最多不超过20张,最多19张,循环为1到19,2元的最多50张,最少1张,循环为1到49,一元的最多99张,循环为1到99。
源程序如下:
var a,b,c,d:integer;{a为十元小钞的张数,b为5元,c为2元,d为1元}
total:longint;{因为总方法较多,用longint类型更好}
begin
for a:=1 to 9 do
for b:=1 to 19 do
for c:=1 to 49 do
for d:=1 to 99 do
if 10*a+5*b+2*c+d=100 then inc(total);
writeln('Total=',total);
end.
仅供参考