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

Все 5-⁠бук­вен­ные слова, со­став­лен­ные из букв А, О, У, за­пи­са­ны в ал­фа­вит­ном по­ряд­ке.

 

Вот на­ча­ло спис­ка:

1.  ААААА

2.  ААААО

3.  ААААУ

4.  АААОА

...

 

Сколь­ко букв А встре­ча­ет­ся в слове, сто­я­щем на 101-⁠м месте от на­ча­ла спис­ка.

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

Ре­ше­ние.

За­ме­ним буквы А, О, У на 0, 1, 2 (для них по­ря­док оче­ви­ден  — по воз­рас­та­нию).

 

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

1.  00000

2.  00001

3.  00002

4.  00010

...

 

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

100 / 3 = 33 (1)

33 / 3 = 11 (0)

11 / 3 = 3 (2)

3 / 3 = 1 (0)

1 / 3 = 0 (1)

 

В тро­ич­ной си­сте­ме 100 за­пи­шет­ся как 10201. Про­из­ведём об­рат­ную за­ме­ну и по­лу­чим ОАУАО, в нём 2 буквы А.

 

Ответ: 2.

 

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

a = {0: "А", 1: "О", 2: "У"}

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 == 101:

s = a[i] + a[j] + a[g] + a[m] + a[n]

print(s.count("А"))

 

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

from itertools import product

k = 1

for s in product(sorted('АОУ'), repeat=5):

slovo = ''.join(s)

if k == 101:

print(slovo.count('А'))

k += 1

 

При­ведём ре­ше­ние Павла Шос­тка­на языке Pascal.

'АОУ'.Cartesian(5).numerate.where(\(a,s)->a=101).select(\(a,s)->s.countof('А')).Print;

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