Задания
Версия для печати и копирования в MS Word
Тип 8 № 7755
i

Все 5-⁠бук­вен­ные слова, со­став­лен­ные из букв Л, Н, Р, Т, за­пи­са­ны в ал­фа­вит­ном по­ряд­ке. Вот на­ча­ло спис­ка:

1.  ЛЛЛЛЛ

2.  ЛЛЛЛН

3.  ЛЛЛЛР

4.  ЛЛЛЛТ

5.  ЛЛЛНЛ

 

За­пи­ши­те слово, ко­то­рое стоит на 150-⁠м месте от на­ча­ла спис­ка.

Спрятать решение

Ре­ше­ние.

За­ме­ним буквы Л, Н, Р, Т на 0, 1, 2, 3 со­от­вет­ствен­но.

 

Вы­пи­шем на­ча­ло спис­ка, за­ме­нив буквы на цифры:

1.  00000

2.  00001

3.  00002

4.  00003

5.  00010

...

 

По­лу­чен­ная за­пись есть числа, за­пи­сан­ные в чет­ве­рич­ной си­сте­ме счис­ле­ния в по­ряд­ке воз­рас­та­ния. Тогда на 150-⁠м месте будет сто­ять число 149 (так как пер­вое число  — 0). Пе­ре­ведём число 149 в чет­ве­рич­ную си­сте­му:

149 / 4 = 37 (1)

37 / 4 = 9 (1)

9 / 4 = 2 (1)

2 / 4 = 0 (2)

 

В чет­ве­рич­ной си­сте­ме 149 за­пи­шет­ся как 2111. По­сколь­ку слова 5-⁠бук­вен­ные, до­ба­вим в на­ча­ле числа не­зна­ча­щий нуль, по­лу­чим 02111. Про­из­ведём об­рат­ную за­ме­ну и по­лу­чим ЛРННН.

 

Ответ: ЛРННН.

 

При­ведём дру­гое ре­ше­ние на языке Python.

a = {0: "Л", 1: "Н", 2: "Р", 3: "Т"}

k = 0

for i in range(0, len(a)):

for j in range(0, len(a)):

for g in range(0, len(a)):

for m in range(0, len(a)):

for n in range(0, len(a)):

k += 1

if k == 150:

print(a[i], a[j], a[g], a[m], a[n], end=" ")

 

При­ведём ре­ше­ние Вла­ди­ми­ра Ар­та­мо­но­ва на языке Python.

from itertools import product

words = list(product('ЛНРТ', repeat=5))

print(*words[149])

 

При­ведём ре­ше­ние Юрия Кра­силь­ни­ко­ва на языке Python.

from itertools import product

print([''.join(p) for p in product('ЛНРТ', repeat=5)][150-1])

 

При­ведём ре­ше­ние Сер­гея Донец на языке PascalABC.NET.

begin

'Л, Н, Р, Т, '.Remove(', ')

.Sorted.Cartesian(5).Numerate

.Where(\(n,s)->n=150)

.First.Item2.Print;

end.

Раздел кодификатора ФИПИ: 1.6.1 Фор­ма­ли­за­ция по­ня­тия ал­го­рит­ма