Программа для вывода всех простых чисел из диапазона - 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;
Объяснение кода листинга программы
- В цикле от 2 до n происходит проверка каждого числа на простоту.
- Переменная t инициализируется как 0, а переменная k как 2.
- Переменная p вычисляется как квадратный корень из i.
- В цикле пока t равно 0 и k меньше или равно p происходит проверка на делимость числа i на k без остатка.
- Если число i делится на k без остатка, то t присваивается 1.
- Значение k увеличивается на единицу.
- Если t все еще равно 0, то число i является простым и записывается в файл.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д