请教大家一个pascal问题
下面是把一元钱换成1分,2分和5分有多少种换法的程序,在free pascal中,两个程序运行的结果不一样,其中第一个运行结果为461,第二个为404,请问大家知不知道是为什么?并且第一个用turbo pascal运行的结果为363,这又是为什么?希望有人帮助我,谢谢!
程序一:
var
s,x,y,z:integer;
m:real;
begin
s:=0;
for x:=1 to 100 do
for y:=1 to 50 do
for z:=1 to 20 do
begin
m:=0.01*x+0.02*y+0.05*z;
if m=1 then
begin
if s mod 5=0 then writeln;
write(' x=',x,' y=',y,' z=',z);
s:=s+1;
end;
end;
writeln;
write('s=',s);
readln;
end.
程序二:
var
s,x,y,z:integer;
m:real;
begin
s:=0;
for x:=1 to 100 do
for y:=1 to 50 do
for z:=1 to 20 do
if 0.01*x+0.02*y+0.05*z=1 then
begin
if s mod 5=0 then writeln;
write(' x=',x,' y=',y,' z=',z);
s:=s+1;
end;
writeln;
write('s=',s);
readln;
end.