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

inlivemulorada inlivemulorada    3   16.07.2019 11:00    29

Ответы
filip198585 filip198585  21.09.2020 10:10
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.
ПОКАЗАТЬ ОТВЕТЫ
vorler vorler  21.09.2020 10:10
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");
 }
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика