Программа для вывода всех простых чисел из диапазона - 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 является простым и записывается в файл.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д