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

Напишите программу, которая выводит все простые числа, у которых цифры стоят строго в порядке убывания, в диапазоне от 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.
Гость
class Primes{  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");  } }
Не нашли ответ?
Ответить на вопрос
Похожие вопросы