** вход программе подается натуральное число n <= 109. Проверьте, является ли оно...

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

На вход программе подается натуральное число n <= 109. Проверьте, является ли оно простым. Выведите YES или NO в зависимости от ответа на вопрос задачи. Максимальное время работы программы на одном тесте — 0,1 секунды.


Информатика (335 баллов) | 196 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var
a,flag,i:integer;
Begin
Readln(a);
flag:=0;
for i:=2 to a do begin 
if i<>a then if a mod i=0 then 
begin flag:=1; break; end;  end;
if flag=1 then Writeln('NO')
else Writeln('YES')
End.

(875 баллов)
0

А можете объяснить, пожалуйста, что такое flag?

0

flag это преременная типа сигнального флажка. В цикле я проверяю есть ли деление от без деления 1 и самого на себя. Грубо говоря проверяю на простое. Но как мне тогда понять какой результат я получил в цикле? Ведь если я начну вывод в цикле, то вывод будет YES YES NO YES и т.д. Вот для этого и нуден флаг. Здесь если эта переменная равна единице, значит есть хотя бы одно число на которое делится данное не считая себя и единицы, а соответственно не простое.

0

Спасибо