Решите задачу по информатике С помощью цикла WHILE. Дано число нужно узнать если оно...

0 голосов
25 просмотров

Решите задачу по информатике
С помощью цикла WHILE.

Дано число нужно узнать если оно простое то вывести YES если нет то NO.
Например: 63 вывести YES;
Например: 43 вывести NO.


Информатика (156 баллов) | 25 просмотров
0

Не правильный пример, 43-простое 63-нет

0

на каком языке программирования?

0

на pascal надо?

Дано ответов: 2
0 голосов
Правильный ответ
PascalABC.NET 3.3.5, сборка 1650 от 01.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('n=');
  if n<4 then Writeln('YES')<br>  else begin
    var found:=(n mod 2=0);
    var p:=3;
    while (not found) and (sqr(p)<=n) do<br>      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
(150k баллов)
0 голосов
//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<br>  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

(5.8k баллов)