Решите по информатике с цикла while. дано число нужно узнать если оно простое то вывести yes если нет то no. например: 63 вывести yes; например: 43 вывести no.

Hondok13 Hondok13    2   22.09.2019 13:10    0

Ответы
Кисаааа123 Кисаааа123  08.10.2020 09:37
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.

Примеры
n= 63
NO

n= 43
YES
ПОКАЗАТЬ ОТВЕТЫ
katkuatova katkuatova  08.10.2020 09:37
//PascalABC.NET
//Версия 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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика