Вероника составляет 3-буквенные коды из букв В, Е, Р, О, Н, И, К, А, причём буква В должна входить в код ровно один раз. Все полученные коды Вероника записала в алфавитном порядке и пронумеровала. Начало списка выглядит так:
1. ААВ
2. АВА
3. АВЕ
...
На каком месте будет записан первый код, не содержащий ни одной буквы А?
1. ААВ
2. АВА
3. АВЕ
...
На каком месте будет записан первый код, не содержащий ни одной буквы А?
💡 Пошаговый разбор и решение:
Запишем каждую букву и соответствующую ей цифру: А — 0, В — 1, Е — 2, И — 3, К — 4, Н — 5, О — 6, Р — 7. Продолжим список кодов, пока не встретим код, не содержащий цифры 0. Будем учитывать, что в коде должна встречаться ровно одна цифра 1. Получим:
1 — 001
2 — 010
3 — 012
4 — 013
5 — 014
6 — 015
7 — 016
8 — 017
9 — 021
10 — 031
11 — 041
12 — 051
13 — 061
14 — 071
15 — 100
16 — 102
17 — 103
18 — 104
19 — 105
20 — 106
21 — 107
22 — 120
23 — 122
Таким образом, первый код, не содержащий ни одной буквы А, будет записан под номером 23.
Ответ: 23.
Приведём другое решение на языке Python.
a = {0: "А", 1: "В", 2: "Е", 3: "И", 4: "К", 5: "Н", 6: "О", 7: "Р"}
k = 0
for i in range(0, len(a)):
for j in range(0, len(a)):
for g in range(0, len(a)):
s = a[i] + a[j] + a[g]
if s.count('В') == 1:
k += 1
if s.count('А') == 0:
print(k) # Возьмём первое число, которое выдаст программа
break
Приведём решение Бориса Савельева на языке Python.
from itertools import product
s = product('АВЕ*****', repeat = 3)
cnt = 0
for i in s :
p = ''.join(i)
if p.count('В') == 1:
cnt += 1
if p.count('В') == 1 and p.count('А') == 0:
print(cnt)
break
Приведём решение Степоненкова Дмитрия на языке Python.
from itertools import*
k=0
for i in product('авеикнор',repeat=3):
if i.count('в')==1:
k+=1
if i.count('а')==0 and i.count('в')==1:
print(k)
break
Приведём решение Юрия Красильникова на языке Python.
from itertools import product
a=sorted([''.join(p) for p in product('ВЕРОНИКА', repeat=3) if p.count('В')==1])
print(min([i+1 for i in range(len(a)) if not 'А' in a[i]]))
Приведём решение Сергея Донец на языке PascalABC.NET.
begin
('ВЕРОНИКА'.CartesianPower(3) // Все 3-буквенные перестановки
.Select(p -> p.JoinToString())
.Where(s -> s.CountOf('В') = 1) // Буква В ровно один раз
.Sorted // Алфавитный порядок
.ToArray
.FindIndex(s -> not s.Contains('А'))+1)
.Print;//23
end.
Приведём решение Сергея Донец на PascalABC.NET:
begin
'В, Е, Р, О, Н, И, К, А, '.Remove(', ')
.Cartesian(3)
.Where(t-> t.CountOf('В') = 1)
.Order.Numerate
.First(\(n,c)-> not c.Contains('А'))
.item1
.Print;
end.
1 — 001
2 — 010
3 — 012
4 — 013
5 — 014
6 — 015
7 — 016
8 — 017
9 — 021
10 — 031
11 — 041
12 — 051
13 — 061
14 — 071
15 — 100
16 — 102
17 — 103
18 — 104
19 — 105
20 — 106
21 — 107
22 — 120
23 — 122
Таким образом, первый код, не содержащий ни одной буквы А, будет записан под номером 23.
Ответ: 23.
Приведём другое решение на языке Python.
a = {0: "А", 1: "В", 2: "Е", 3: "И", 4: "К", 5: "Н", 6: "О", 7: "Р"}
k = 0
for i in range(0, len(a)):
for j in range(0, len(a)):
for g in range(0, len(a)):
s = a[i] + a[j] + a[g]
if s.count('В') == 1:
k += 1
if s.count('А') == 0:
print(k) # Возьмём первое число, которое выдаст программа
break
Приведём решение Бориса Савельева на языке Python.
from itertools import product
s = product('АВЕ*****', repeat = 3)
cnt = 0
for i in s :
p = ''.join(i)
if p.count('В') == 1:
cnt += 1
if p.count('В') == 1 and p.count('А') == 0:
print(cnt)
break
Приведём решение Степоненкова Дмитрия на языке Python.
from itertools import*
k=0
for i in product('авеикнор',repeat=3):
if i.count('в')==1:
k+=1
if i.count('а')==0 and i.count('в')==1:
print(k)
break
Приведём решение Юрия Красильникова на языке Python.
from itertools import product
a=sorted([''.join(p) for p in product('ВЕРОНИКА', repeat=3) if p.count('В')==1])
print(min([i+1 for i in range(len(a)) if not 'А' in a[i]]))
Приведём решение Сергея Донец на языке PascalABC.NET.
begin
('ВЕРОНИКА'.CartesianPower(3) // Все 3-буквенные перестановки
.Select(p -> p.JoinToString())
.Where(s -> s.CountOf('В') = 1) // Буква В ровно один раз
.Sorted // Алфавитный порядок
.ToArray
.FindIndex(s -> not s.Contains('А'))+1)
.Print;//23
end.
Приведём решение Сергея Донец на PascalABC.NET:
begin
'В, Е, Р, О, Н, И, К, А, '.Remove(', ')
.Cartesian(3)
.Where(t-> t.CountOf('В') = 1)
.Order.Numerate
.First(\(n,c)-> not c.Contains('А'))
.item1
.Print;
end.
Правильный ответ:
23
📚 Похожие разобранные задания по предмету:
ID 29587 • Задание №3
Путешественник пришел в 08:00 на автостанцию поселка ЛИСЬЕ и увидел следующее расписание автобусов:
Отправлен...
ID 29497 • Задание №2
Логическая функция F задаётся выражением ¬x ∧ y ∧ (z → w).
На рисунке приведён фрагмент таблицы истинности фун...
🔗 Другие задания линии №8 по предмету Информатика:
ID 30810
Шифр кодового замка представляет собой последовательность из пяти символов, каждый из которых я...
ID 30811
Сколько существует различных трёхзначных чисел, записанных в четверичной системе счисления, в з...
ID 30812
Сколько существует различных четырёхзначных чисел, записанных в семеричной системе счисления, в...
ID 30813
Составляют 5-буквенные слова из букв слова ПЯТНИЦА. Найти количество слов, которые не начинают...
ID 30814
Сколько существует чисел, восьмеричная запись которых содержит 5 цифр, причем в записи нет цифр...