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

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

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

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

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

textual
Листинг программы
  1. for i:=2 to n do begin
  2.  t:=0; k:=2; p:=trunc(sqrt(i));
  3.  while (t=0) and (k<=p)do
  4.   begin
  5.    if i mod k=0 then t:=1;
  6.    inc(k)
  7.   end;
  8.  if t=0 then write(i,' ');
  9. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы