Простые числа в диапазоне - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Здравствуйте,помогите пожалуйста написать программу на языке pascalabc.Напишите программу, которая выводит все простые числа в диапазоне от K до N ( 2 ≤ K ≤ N ≤ 100000 ). Входные данные Входная строка содержит два натуральных числа, разделённые пробелом, K и N ( 2 ≤ K ≤ N ≤ 100000 ). Выходные данные Программа должна вывести все простые числа в диапазоне от K до N в одну строку, разделив их пробелами. Если таких чисел нет, нужно вывести число 0. Примеры входные данные 7 15 выходные данные 7 11 13 входные данные 20 22 выходные данные 0

Решение задачи: «Простые числа в диапазоне»

textual
Листинг программы
function Prost(a:longint):boolean;
var i:longint;
    f:boolean;
begin
if a<2 then f:=false
else
 begin
  f:=true;
  i:=2;
  while (i*i<=a) and f do
  if a mod i=0 then f:=false
  else i:=i+1;
 end;
 Prost:=f;
end;
var N,K,d:integer;
begin
writeln('Введите K: ');
readln(K);
writeln('Введите N: ');
readln(N);
if K>N then writeln('Ошибка! K>N') else begin
for d:=K to N do begin
if Prost(d) then write(d,' ');
end;
end;
end.

Объяснение кода листинга программы

  1. Функция Prost принимает целочисленный аргумент a и возвращает логическое значение true, если a является простым числом, и false в противном случае.
  2. В функции используется переменная i, которая инициализируется значением 2.
  3. Переменная f инициализируется значением true.
  4. В цикле while выполняется следующая последовательность действий:
    • Проверяется, что i*i меньше или равно a и что f равно true.
    • Если a деляется на i без остатка, то значение f устанавливается в false.
    • Значение i увеличивается на 1.
  5. По завершении цикла, функция Prost возвращает значение f.
  6. В основной части программы считываются значения переменных K и N.
  7. Если K больше N, выводится сообщение об ошибке.
  8. В противном случае, для каждого значения d от K до N выполняется следующая последовательность действий:
    • Вызывается функция Prost(d).
    • Если результат истина, то значение d выводится на экран, разделенное пробелами.
  9. Программа заканчивается.

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы