Предмет: Информатика, автор: AngelinaSuhonosova

Задача:

Определить, является ли заданное натуральное число простым числом.

Формат ввода:

На вход подается натуральное число n не превосходящих 30000.

Формат вывода:

YES или NO

Пример входных данных

27

Пример выходных данных

NO



P.S. На языке паскаль. 8 класс, так что не сильно заумно, пожалуйста, а то бывают команды, которые впервые в жизни вижу.

Ответы

Автор ответа: jefftop
5
Если не заумно, то так сойдет)

Вот держи(прикреп):
Приложения:

AngelinaSuhonosova: Спасибо, а как через функцию решать? Что-то не выходит...
AngelinaSuhonosova: function chislo(var a: integer): longint;
var i, k: integer;
begin
for i:= 2 to a do begin
if a mod i = 0 then
k:= k + 1;
end;
chislo := k;
end;

var a, k: integer;

begin
readln(a);
if k < 2 then
writeln ('YES')
else
writeln ('NO');
end.
jefftop: В основном коде программы вы не где не обращаетесь к функции, поэтому и не выходит.
AngelinaSuhonosova: А, точно, спасибо)
jefftop: За помощью можете обращаться мне в личные сообщения. Всегда чем смогу, помогу.
AngelinaSuhonosova: а что такое k?
jefftop: k количество делителей у числа.
AngelinaSuhonosova: я сдаюсь..
AngelinaSuhonosova: function chislo(var a: integer): longint;
var i, k: integer;
begin
for i:= 2 to a do begin
if a mod i = 0 then
k:= k + 1;
end;
chislo := k;
end;

var a, k: integer;

begin
readln(a);
chislo(a);
if k <= 2 then
writeln ('YES')
else
writeln ('NO');
end.
jefftop: var
a:integer;
function chislo(a:integer):integer;
Var i,k:integer;
begin
for i:=2 to a do
if a mod i = 0 then inc(k);
chislo:=k;
end;
begin
readln(a);
if chislo(a)<2 then writeln('YES') else writeln('NO');
end.
Похожие вопросы
Предмет: Математика, автор: meka4