Напишите программу, которая выводит все простые числа, у которых цифры стоят строго в порядке убывания, в диапазоне от K до N ( 2 ≤ K ≤ N ≤ 100000 ).
Входные данные
Входная строка содержит два натуральных числа, разделённые пробелом, K и N ( 2 ≤ K ≤ N ≤ 100000 ).
Выходные данные
Программа должна вывести все простые числа, у которых цифры стоят строго в порядке убывания, в диапазоне от K до N в одну строку, разделив их пробелами. Если таких чисел нет, нужно вывести число 0.

Function prime(x:integer):boolean;
var
 t:boolean;
 d:integer;
begin
 t := true;
 d := 2;
 while t and (d*d <= x) do
   begin
   if x mod d = 0 then 
     t := false;
   d := d + 1
   end;
 prime := t
end;

function order(x:integer):boolean;
var
 t:boolean;
 d:integer;
begin
 d := -1;
 repeat
   t := x mod 10 > d;
   d := x mod 10;
   x := x div 10
 until not t or (x = 0);
 order := t
end;

var
 t:boolean;
 i,k,n:integer;
begin
 t := false;
 read(k,n);
 for i := k to n do
   if prime(i) then
   if order(i) then
     begin
     write(i, );
     t := true
     end;
 if not t then
   write(0)
end.

Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку