Есть ответ 👍

Простое число называется гиперпростым, если любое число, получающееся из него откидыванием нескольких последних цифр, тоже является простым. например, число 733 -– гиперпростое, так как и оно само, и числа 73 и 7 -– простые. напишите программу, которая находит все гиперпростые числа в заданном диапазоне. используйте функции.

входные данные

входная строка содержит два натуральных числа – границы диапазона  a  и  b  . гарантируется, что  a  ≤  b  .

выходные данные

программа должна вывести все гиперпростые числа из заданного диапазона в одной строке, разделив их пробелами. если ни одного числа не найдено, программа должна вывести 0.

268
486
Посмотреть ответы 2

Ответы на вопрос:


pascalabc.net

function isprime(n: integer): boolean;   // простое?

begin

  if n < = 1 then

  begin

    result : = false;

    exit

  end;

  result : = true;

  var (j, r) : = (2, round(sqrt(;

  while result and (j < = r) do

    if n mod j = 0 then

    begin

      result : = false;

      exit

    end

    else

      j += 1;

end;

function ishyperprime(n: integer): boolean; // гиперпростое?

begin

  result : = false;

  var k : = 10;

  while n > 10 do

  begin

    n : = n div 10;  

    if not isprime(n) then exit

  end;  

  result : = true

end;

begin

  var (a, b) : = readinteger2;

  var found : = false;

  foreach var n in range(a, b) do

    if isprime(n) then // найдено простоe число

      if ishyperprime(n) then

      begin

        found : = true;

        n.print

      end;

  if not found then

    write(0)

end.


Задаются:

A[0] = 2;

A[1] = 3;

A[2] = 4;

A[3] = 5;

A[4] = 6;

A[5] = 7;

A[6] = 8;

A[7] = 9;

A[8] = 10;

A[9] = 11;

A[10] = 12;

Изменяются:

A[0] = 2;

A[1] = 3;

A[2] = 4;

A[3] = 5;

A[4] = 6;

A[5] = 7;

A[6] = 16;

A[7] = 18;

A[8] = 20;

A[9] = 22;

A[10] = 24;

Популярно: Информатика