Другие языки программирования и технологии

Нужно написать на любом языке прорамму, которая будет принимать число N. выдавать число X такое, что: X>N

X - палиндром
X - простое число
палиндром - число, которе одинаково читается справа налево и слева направо. пример палиндрома:
234432, 1, 539935
простое число - число, которое делится без остатка только на 1 и на само себя. пирмер простого числа : 13, 7, 19, 11, ..
Заранее, спасиб.
class
  N184683665

create
  make

feature {NONE}
  make
    local
      n, x, i: INTEGER
    do
      {SYSTEM_CONSOLE}.write("Введите число N: ")
      n := {SYSTEM_CONVERT}.to_int_32 ({SYSTEM_CONSOLE}.read_line)
      if n < 2 then
        x := 2
      elseif n < 3 then
        x := 3
      else
        from
          x := n + 1 + n.bit_and (1)
        until
          is_prime(x) and is_palindrome(x)
        loop
          x := x.plus (2)
        end
      end
      {SYSTEM_CONSOLE}.write_line("X = {0}", x)
      {SYSTEM_CONSOLE}.read_key.do_nothing
    end

feature {NONE}
  is_prime(x: INTEGER): BOOLEAN
  local
    i: INTEGER
  do
    from
      i := 3
    until
      i.power (2) > x or x.integer_remainder (i) = 0
    loop
      i := i + 2
    end
    Result := i.power (2) > x
  end

feature {NONE}
  is_palindrome (x: INTEGER): BOOLEAN
    local
      a, b: INTEGER
    do
      from
        a := x; b := 0
      until
        a = 0
      loop
        b := b * 10 + a.integer_remainder (10)
        a := a.integer_quotient (10)
      end
      Result := x.is_equal (b)
    end

end

P.S. Как и просили, на любом языке.
Оксана Бочко
Оксана Бочко
51 590
Лучший ответ

Похожие вопросы