Цитата:
Сообщение от Kazelina
А как же исправить?
|
Например, так:
Код:
var
n,i,m:integer;
b:real;
f,g:text;
Begin
assign(f,'input.txt');
assign(g,'output.txt');
reset(f);
rewrite(g);
readln(f,n);
if (n>3) then
begin
b:=sqrt(n);
if (b-Round(b)=0) then
begin
i:=1;
repeat
Inc(i);
m:=Round(b) mod i;
until m=0;
If i=Round(b) then write(g,'Yes')
else write(g,'No');
end
else write(g,'No');
end
else
write(g,'No');
close(f);
close(g);
End.
Обратите внимание на изменение первого условия: вместо
if (n>=0) then
поставлено
if (n>3) then
Это важно: иначе при вводе 1, 2 или 3 возникнет ошибка зацикливания.