if (m=0) or (n=0) 少了个then begin s:=0; end;
while (s=0) or (s mod n<>0) or (s mod m <>0) do
上面既然m=0 n=0了,后面就不能mod n或mod m ,
我给你修改了一下,你看是不是这样的
var
m,s,n,a:integer;
begin
readln(m);
readln(n);
if m>=n then
begin
s:=n;
a:=n;
end;
if m
s:=m;
a:=m;
end;
if (m=0) or (n=0) then
begin
s:=0;
writeln(s);
readln;
exit;
end;
while(s mod n<>0)do
begin
s:=s+a;
end;
writeln(s);
readln;
end.
报201错误只有两种可能
1.、除数为零
2、编译器出了问题
希望对楼主有帮助
while (s=0) or (s mod n<>0) or (s mod m <>0) do
因 s=n或m,这三个算式总有一个成立,因此会进入死循环。
integer范围太小了,用word之类的吧;当s=0时会进入死循环
m=0;
n=0;
你过得去么?
while就卡死了s=0永远成立