profile
Опубликовано 6 лет назад по предмету Информатика от devilishworld

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

  1. Ответ
    Ответ дан ZaXoD
    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.
    1. Ответ
      Ответ дан devilishworld
      А можете объяснить, пожалуйста, что такое flag?
    2. Ответ
      Ответ дан ZaXoD
      flag это преременная типа сигнального флажка. В цикле я проверяю есть ли деление от без деления 1 и самого на себя. Грубо говоря проверяю на простое. Но как мне тогда понять какой результат я получил в цикле? Ведь если я начну вывод в цикле, то вывод будет YES YES NO YES и т.д. Вот для этого и нуден флаг. Здесь если эта переменная равна единице, значит есть хотя бы одно число на которое делится данное не считая себя и единицы, а соответственно не простое.
    3. Ответ
      Ответ дан devilishworld
      Спасибо
Самые новые вопросы