Олимпиадный тренинг

Задача . П 62


Задача

Темы:
По каналу связи передастся последовательность слов в алфавите {А, Е, Р}. Длина каждого слова не превосходит 10 букв, слова могут не быть осмысленными словами русского языка. Каждое слово передается в виде целого числа, полученного следующим образом.
1)      Сначала слово колируется с помощью неравномерного двоичного кода с кодовыми словами: Е – 0; Р – 10; А – 11.
2)      К полученной двоичной последовательности справа приписывается цифра 1.
3)      Полученная двоичная цепочка переворачивается, то есть, из цепочки 01010111 получается 11101010.
4)      Искомое число N вычисляется в результате перевода двоичной цепочки, полученной на предыдущем шаге, в десятичную систему.
Например, символьная последовательность ААЕЕР будет преобразована в 11110010, затем (добавляем единицу в конец) – в 111100101, а затем – в число: 1 + 2 + 4 + 8 + 64 + 256 = 335. Отметим, что 335 = 1010011112.
Напишите программу, которая, получив на вход натуральное число, декодирует переданное сообщение и определяет, сколько раз в исходном слове встречаются гласные буквы. Считается, что входное число может быть представлено в виде значения целого типа в используемом языке программирования.
Пример входных данных:
5483
Пример выходных данных:
АЕРАЕРР
4
Примечание. В этом примере: исходное слово: АЕРАЕРР. Кодовая двоичная последовательность: 110101101010, после добавления 1 справа получим: 1101011010101.

time 500 ms
memory 32 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя