Все 5-буквенные слова, составленные из букв а, к, р, у, записаны в алфавитном порядке. вот начало списка: 1. 2. 3. 4. 5. …… укажите номер первого слова, которое начинается с буквы у.
Исходник на С#, переделать на другой любой будет не сложно - тут 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
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) P
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