e-olymp 22. «Зеркально простые» числа

Назовем число «зеркально простым», если само число является простым, и простым является число, записанное теми же цифрами в обратном порядке.

Найти количество «зеркально простых» чисел на промежутке от [latex]a[/latex] до [latex]b[/latex].

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

Два числа [latex]a[/latex] и [latex]b[/latex] ( [latex]1[/latex][latex]\le[/latex] [latex]a[/latex], [latex]b[/latex] [latex]\le[/latex] [latex]10000[/latex]).

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

Вывести количество «зеркально простых» чисел на промежутке от [latex]a[/latex] до [latex]b[/latex] включительно.

Задача взята с сайта e-olymp.

Тесты

 Границы промежутка   Количество «зеркально простых» чисел
1  10 4
100  200 12
1008 1230 19
3340  3950 31
9900 10000 4

 

Алгоритм

Перед нами была поставлена задача реализовать поиск всех «зеркально простых» чисел на заданном промежутке. Проверив в правильном ли порядке введены границы промежутка, организуем последовательный анализ для каждого числа из промежутка в теле главного цикла :

  1. Инициализируем две логические переменные, значение которых отвечает за прохождение теста на простоту самим числом и «зеркальным» соответственно.
  2. Методом последовательного перебора делителей определяем является ли данное число простым. Если данное утверждение истинно, переходим к последующим пунктам. В противном случае переходим на новый виток главного цикла.
  3. Выполняем последовательную сборку числа, записанного в обратном порядке.
  4. Проводим аналогичную проверку на простоту для «зеркального» числа.
  5. При условии, что это число также является простым, инкрементируем счетчик.

Достигнув верхней границы промежутка, выводим количество «зеркально простых» чисел.

Код программы:

Код программы

Засчитанное решение

One thought on “e-olymp 22. «Зеркально простые» числа

Добавить комментарий