Все 5-буквенные слова, составленные из букв А, К, Р, У, записаны в алфавитном порядке. Вот начало списка: 1. ААААА 2. ААААК 3. ААААР 4. ААААУ 5. АААКА …… Укажите номер первого слова, которое начинается...
Все 5-буквенные слова, составленные из букв А, К, Р, У, записаны в алфавитном порядке. Вот начало списка:
1. ААААА
2. ААААК
3. ААААР
4. ААААУ
5. АААКА
……
Укажите номер первого слова, которое начинается с буквы У.
Ответ(ы) на вопрос:
1) ААААА
2) ААААK
3) ААААP
4) ААААY
5) АААKА
6) АААKK
7) АААKP
8) АААKY
9) АААPА
10) АААPK
11) АААPP
12) АААPY
13) АААYА
14) АААYK
15) АААYP
16) АААYY
....
767) PYYYP
768) PYYYY
769) YАААА
770) YАААK
771) YАААP
772) YАААY
773) YААKА
774) YААKK
775) YААKP
776) YААKY
777) YААPА
778) YААPK
779) YААPP
780) YААPY
781) YААYА
782) YААYK
Исходник на С#, переделать на другой любой будет не сложно - тут 5 вложенных циклов, для прокрутки буквы от первой до последней и свитчи на каждую букву для записи в комбинацию.
Напоминает счетчик обычный.
В консоль не влезло (там 1200+ записей), по этому поводу не стал морочиться и записал потоком вместо консоли в блокнот.
Результат работы программы прикреплен.
Вообще принцип решения вот такой.
1. ААААА 0
2. ААААК 1
3. ААААР 2
4. ААААУ 3
5. АААКА
Т.е букве А соответствует цифра 0 (в четверичной с.с., т.к букв в алфавите 4, то система счисления 4-я), букве К - 1 и т.д.
Первое слово начинающееся на У - это 30000 (пятибуквенное слово, начинающееся на У)
Переведем в 10-ю с.с 3*4^4= 768
По данному списку видно, что номер буквы на 1 меньше номера строки. Значит к полученному числу надо прибавить 1, чтобы получить номер строки. Значит 768+1=769
Не нашли ответ?
Похожие вопросы