Программа для вывода всех простых чисел из диапазона - Free Pascal

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

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

Добрый вечер, не могу найти причину того, что не выводиться ничего. Задание: Дано целое число n>2. Напечатать все простые числа из диапазона [2,n]
program prak;
uses crt;
var n,k,i:integer;
begin
clrscr;
write('Введите целое число n=');
readln (n);
for i:=2 to n do
if n mod i=0 then n:=n+1;
if n=0 then
writeln('n=',n);
end.
Заранее спасибо.

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

textual
Листинг программы
for i:=2 to n do begin
 t:=0; k:=2; p:=trunc(sqrt(i));
 while (t=0) and (k<=p)do
  begin
   if i mod k=0 then t:=1;
   inc(k)
  end;
 if t=0 then write(i,' ');
end;

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

  1. В цикле от 2 до n происходит проверка каждого числа на простоту.
  2. Переменная t инициализируется как 0, а переменная k как 2.
  3. Переменная p вычисляется как квадратный корень из i.
  4. В цикле пока t равно 0 и k меньше или равно p происходит проверка на делимость числа i на k без остатка.
  5. Если число i делится на k без остатка, то t присваивается 1.
  6. Значение k увеличивается на единицу.
  7. Если t все еще равно 0, то число i является простым и записывается в файл.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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