Помогите, в одном тесте пишет: "Превышено максимальное время". Задача: Вывести все простые числа от M до N включительно. Входные данные В первой строке находятся разделённые пробелом M и N. 2 меньше = M меньше = N меньше = ...

Помогите, в одном тесте пишет: "Превышено максимальное время". Задача: Вывести все простые числа от M до N включительно. Входные данные В первой строке находятся разделённые пробелом M и N. 2 <= M <= N <= 1 000 000. Выходные данные Вывести числа в порядке возрастания, по одному в строке. Если между M и N включительно нет простых - вывести "Absent". Сам код: var i,a,b,c,n,d: longint; begin Read(a, n); For i:=a to n do begin For b:=2 to trunc(sqrt(i)) do If i mod b=0 then c:=c+1; If c=0 then begin writeln(i); d:=d+1; end else c:=0; end; if d=0 then writeln('Absent'); end.
Гость
Ответ(ы) на вопрос:
Гость
//Прости, но я не понимаю что должен делать код выше, напишу свой. //Pascal ABC. NET v3.0 var m,n:real; i:integer; begin Read(m,n); if abs(m-n)<1 then  begin;   write('Absent');   exit;  end; for i:=trunc(m)+1 to trunc(n) do writeln(i); end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы