Решите по информатике с цикла while. дано число нужно узнать если оно простое то вывести yes если нет то no. например: 63 вывести yes; например: 43 вывести no.
PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018 Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('n='); if n<4 then Writeln('YES') else begin var found:=(n mod 2=0); var p:=3; while (not found) and (sqr(p)<=n) do begin found:=(n mod p=0); p+=2 end; if found then Writeln('NO') else Writeln('YES') end end.
function Simple(a: integer): boolean; begin result := true; var i := 2; while i <= a div 2 do begin if (a mod i = 0) then result := false; inc(i); end; end;
begin Println(Simple(ReadInteger('a->'))?'YES':'NO'); end.
Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
if n<4 then Writeln('YES')
else begin
var found:=(n mod 2=0);
var p:=3;
while (not found) and (sqr(p)<=n) do
begin found:=(n mod p=0); p+=2 end;
if found then Writeln('NO')
else Writeln('YES')
end
end.
Примеры
n= 63
NO
n= 43
YES
//Версия 3.3, сборка 1634 (14.02.2018)
function Simple(a: integer): boolean;
begin
result := true;
var i := 2;
while i <= a div 2 do
begin
if (a mod i = 0) then result := false;
inc(i);
end;
end;
begin
Println(Simple(ReadInteger('a->'))?'YES':'NO');
end.
Пример(1):
a->7
YES
Пример(2):
a->63
NO