换钞票(pascal)

来源:百度知道 编辑:UC知道 时间:2024/06/03 10:40:30
把n元钞票换成一分、二分、五分硬币(每种至少一枚),有几种换法?

编程用pascal解。
注意:运行时间一定要快!

用穷举法解题
var i,j,k,n,sum:integer;
begin
readln(n);
for i:=1 to n-7 do
for j:=1 to (n-6)div 2 do
begin
k:=(n-i-j*2) div 5;
if ((i*1+j*2+k*5)=n) and (k>0) then begin writeln(i,' ',j,' ',k);sum:=sum+1;end;
end;
writeln(sum);
end.