Предмет: Информатика,
автор: AngelinaSuhonosova
Задача:
Определить, является ли заданное натуральное число простым числом.
Формат ввода:
На вход подается натуральное число n не превосходящих 30000.
Формат вывода:
YES или NO
Пример входных данных
27
Пример выходных данных
NO
P.S. На языке паскаль. 8 класс, так что не сильно заумно, пожалуйста, а то бывают команды, которые впервые в жизни вижу.
Ответы
Автор ответа:
5
Если не заумно, то так сойдет)
Вот держи(прикреп):
Вот держи(прикреп):
Приложения:
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.
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.
В основном коде программы вы не где не обращаетесь к функции, поэтому и не выходит.
А, точно, спасибо)
За помощью можете обращаться мне в личные сообщения. Всегда чем смогу, помогу.
а что такое k?
k количество делителей у числа.
я сдаюсь..
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.
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.
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.
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.
Похожие вопросы
Предмет: Биология,
автор: 7snickers
Предмет: Английский язык,
автор: ivettafransuzenko
Предмет: Математика,
автор: shahan2011
Предмет: Математика,
автор: Аноним
Предмет: Математика,
автор: meka4