017. 2-простое число

(Время - 1 сек., память - 16 Мб)

Число называется 2-простым, если являются простыми числа, составленные из цифр этого числа в возрастающем и убывающем порядках.

Требуется написать программу, которая по заданному числу определит его 2-простоту.

Входные данные

В единственной строке входного файла input.txt записано натуральное число N (10 < N < 109).

Выходные данные

В единственную строку выходного файла output.txt нужно вывести сообщение «Yes», если число N является 2-простым и «No» - иначе.

Примеры

input.txt

output.txt

1

13

Yes

2

23

No

Разбор

.

Программа на Паскале

var

  n, m : longint;

  k, i, j, x : integer;

  a : array [1..9] of integer;

function pr(n:longint):boolean;

  var b : boolean; t : longint;

begin

  b:=true;

  if n mod 2=0 then b:=false;

  t:=3;

  while b and (t*t<=n) do

  begin

    if n mod t=0 then b:=false;

    t:=t+2

  end;

  pr:=b

end;

begin

  assign(input,'input.txt'); reset(input);

  assign(output,'output.txt'); rewrite(output);

  read(n);

  k:=0;

  while n>0 do

  begin

    k:=k+1;

    a[k]:=n mod 10;

    n:=n div 10

  end;

  for i:=1 to k-1 do

    for j:=1 to k-i do

      if a[j]>a[j+1] then

      begin x:=a[j]; a[j]:=a[j+1]; a[j+1]:=x end;

  for i:=1 to k do n:=n*10+a[i];

  m:=0; for i:=k downto 1 do m:=m*10+a[i];

  if pr(n) and pr(m) then write('Yes') else write('No');

end.

Программа на С

 

Информация о задаче

Автор, источник

 

Олимпиада

Муниципальный этап олимпиады в Ханты-Мансийском АО-Югре, 2008-2009 уч. год, 3-й тур

Тематика

Целочисленная арифметика

Примерная сложность

28%

Ссылки в Интернете

Условие, сдача решения – http://acmu.ru/index.asp?main=task&id_task=516

Наш сайт

Сдача решения –

Тесты – Rar

Задача подготовлена

Автор, дата –  Алексеев А.В., 24.05.2012