2. 将100圆兑换为20, 10, 5, 2, 1,五种不同面额的纸币,输出每种换法,最后输出换法总数。
program exExhaustive2_1;
const All = 100;
var
twenty, ten, five, two, num : integer;
begin
for twenty := 1 to All div 20 do
for ten := 1 to (All - twenty * 20) div 10 do
for five := 1 to (All - twenty * 20 - ten * 10) div 5 do
for two := 1 to (All - twenty * 20 - ten * 10 - five * 5) div 2 do
if (All - twenty * 20 - ten * 10 - five * 5 - two * 2) <> 0 then
begin
writeln(All, ' = ', twenty, 'x20+', ten, 'x10+', five, 'x5+', two, 'x2+', (All - twenty*20 - ten*10 - five*5 - two*2), 'x1');
num := num+1;
end;
writeln('There are ', num, ' kinds.');
readln;
end.
const All = 100;
var
twenty, ten, five, two, num : integer;
begin
for twenty := 1 to All div 20 do
for ten := 1 to (All - twenty * 20) div 10 do
for five := 1 to (All - twenty * 20 - ten * 10) div 5 do
for two := 1 to (All - twenty * 20 - ten * 10 - five * 5) div 2 do
if (All - twenty * 20 - ten * 10 - five * 5 - two * 2) <> 0 then
begin
writeln(All, ' = ', twenty, 'x20+', ten, 'x10+', five, 'x5+', two, 'x2+', (All - twenty*20 - ten*10 - five*5 - two*2), 'x1');
num := num+1;
end;
writeln('There are ', num, ' kinds.');
readln;
end.