Напишите программу, которая выводит все простые числа, у которых цифры стоят строго в порядке убывания, в диапазоне от K до N ( 2 ≤ K ≤ N ≤ 100000 ).
Входные данные
Входная строка содержит два натуральных числа, разделённые пробелом, K и N ( 2 ≤ K ≤ N ≤ 100000 ).
Выходные данные
Программа должна вывести все простые числа, у которых цифры стоят строго в порядке убывания, в диапазоне от K до N в одну строку, разделив их пробелами. Если таких чисел нет, нужно вывести число 0.
Answers & Comments
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.
public static void main(String args[]){
boolean noPrimes = true;
java.util.Scanner in = new java.util.Scanner(System.in);
searchPrimes:
for(int k = in.nextInt(), n = in.nextInt(); k>=n; k--){
for(int p = k/2; p>1; p--)if(k%p==0)continue searchPrimes;
System.out.print(k+" "); noPrimes = false;
}
if(noPrimes)System.out.println("0");
}
}