Pascal. Задача 3-13*

Вывести первые 20 простых чисел, начиная с 2.

Примечание: Проверку на простоту числа осуществить методом перебора. Достаточно проверить на деление от 2 до квадратного корня из проверяемого числа. Для преобразования вещественного числа в целое можно использовать функцию round.

Решение

var
  i, n, k : integer;
  prime : boolean;
begin
  k := 1;  // Счетчик простых чисел
  n := 2;  // Первое простое число
  for k := 1 to 20 do begin
    writeln(n);
    repeat
      n := n + 1;
      if n mod 2 = 0 then continue; // Пропускаем четные числа
      prime := true;  // Предполагаем, что текущее число простое
// Проверяем деление на числа от 2 до корня из проверяемого числа
      for i := 2 to round(sqrt(n)) do
        if n mod i = 0 then begin
            prime := false;  // Число не простое
            break; // Нашли делитель, дальше нет необходимости проверять
          end;
    until prime; // Проверяем следующее число, пока не найдем простое
  end;
end.