Тема 8. Комбинаторика

8.01 Слова в алфавитном порядке

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела комбинаторика
Решаем задачи

Ошибка.
Попробуйте повторить позже

Задача 1#6205Максимум баллов за задание: 1

Все 4-буквенные слова, в составе которых могут быть буквы Н, Р, Д, О, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. НННН

2. НННР

3. НННД

4. НННО

5. ННРН

...

Под каким номером в списке идёт слово “ДРОН”?

Показать ответ и решение

Решение аналитически:

Исходя из порядка букв в списке, присвоим им следующие коды: Н — 0, Р — 1, Д — 2, О — 3. Тогда первое слово — 0000, второе — 0001 и т.д. Слово “ДРОН” будет кодироваться как 2130. Т.к. для кодирования слова потребовалось всего 4 разные буквы, то код будет представлен в четверичной системе счисления. В десятичной системе счисления код слова “ДРОН” будет принимать значение 21304 = 15610.  Тогда в самом списке слово “ДРОН” будет идти под номером 157, т.к. отсчёт кодов начинается с нуля (1. НННН = 0, 2. НННР = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 4-буквенных слов из букв Н, Р, Д, О. Для этого организуем 4  вложенных цикла (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “ДРОН”, выведем его номер.

alf = "НРДО" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                s = i + j + k + l # Формируем слово
                c += 1 # Обновляем номер слова
                if s == "ДРОН": # Проверяем главное условие задачи, выводим номер нужного слова
                    print(c)
                    break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“ДРОН”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых четырёх словах.
# Сначала идёт Н, далее добавляется Р, Д, О.
# Значит правильный порядок: ‘‘НРДО’’.
t = product("НРДО", repeat=4) # repeat обозначает количество букв, в заданных словах их 4
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "ДРОН": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 157

Ошибка.
Попробуйте повторить позже

Задача 2#6206Максимум баллов за задание: 1

Все 5-буквенные слова, в составе которых могут быть буквы С, Ь, А, П, Т, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. ССССС

2. ССССЬ

3. ССССА

4. ССССП

5. ССССТ

6. СССЬС

...

Под каким номером в списке идёт слово “СПАТЬ”?

Показать ответ и решение

Решение аналитически:

Исходя из порядка букв в списке, присвоим им следующие коды: С — 0, Ь — 1, А — 2, П — 3, Т — 4. Тогда первое слово — 00000, второе — 00001 и т.д. Слово “СПАТЬ” будет кодироваться как 03241. Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в пятеричной системе счисления. В десятичной системе счисления код слова “СПАТЬ” будет принимать значение 32415 =  44610.  Тогда в самом списке слово “СПАТЬ” будет идти под номером 447, т.к. отсчёт кодов начинается с нуля (1. ССССС = 0, 2. ССССЬ = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 5-буквенных слов из букв С, Ь, А, П, Т. Для этого организуем 5  вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “СПАТЬ”, выведем его номер.

lf = "СЬАПТ" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                for m in alf:
                    s = i + j + k + l + m # Формируем слово
                    c += 1 # Обновляем номер слова
                    if s == "СПАТЬ": # Проверяем главное условие задачи, выводим номер нужного слова
                        print(c)
                        break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“СПАТЬ”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых пяти словах из условия.
# Сначала идёт С, далее добавляется Ь, А, П, Т.
# Значит правильный порядок: ‘‘СЬАПТ’’.
t = product("СЬАПТ", repeat=5) # repeat обозначает количество букв, в заданных словах их 5
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "СПАТЬ": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 447

Ошибка.
Попробуйте повторить позже

Задача 3#6207Максимум баллов за задание: 1

Все 6-буквенные слова, в составе которых могут быть буквы Б, А, К, Р, Д, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. ББББББ

2. БББББА

3. БББББК

4. БББББР

5. БББББД

6. ББББАБ

...

Под каким номером в списке идёт слово “БАРДАК”?

Показать ответ и решение

Решение аналитически:

Исходя из порядка букв в списке, присвоим им следующие коды: Б — 0, А — 1, К — 2, Р — 3, Д — 4. Тогда первое слово — 000000, второе — 000001 и т.д. Слово “БАРДАК” будет кодироваться как 013412. Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в пятеричной системе счисления. В десятичной системе счисления код слова “БАРДАК” будет принимать значение 134125 = 110710.  Тогда в самом списке слово “БАРДАК” будет идти под номером 1108, т.к. отсчёт кодов начинается с нуля (1. ББББББ = 0, 2. БББББА = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 6-буквенных слов из букв Б, А, К, Р, Д. Для этого организуем 6  вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “БАРДАК”, выведем его номер.

alf = "БАКРД" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                for m in alf:
                    for p in alf:
                        s = i + j + k + l + m + p # Формируем слово
                        c += 1 # Обновляем номер слова
                        if s == "БАРДАК": # Проверяем главное условие задачи, выводим номер нужного слова
                            print(c)
                            break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“БАРДАК”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых пяти словах из условия.
# Сначала идёт Б, далее добавляется А, К, Р, Д.
# Значит правильный порядок: ‘‘БАКРД’’.
t = product("БАКРД", repeat=6) # repeat обозначает количество букв, в заданных словах их 6
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = ’’.join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "БАРДАК": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 1108

Ошибка.
Попробуйте повторить позже

Задача 4#6208Максимум баллов за задание: 1

Все 5-буквенные слова, в составе которых могут быть буквы О, С, Л, В, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. ООООО

2. ООООС

3. ООООЛ

4. ООООВ

5. ОООСО

...

Под каким номером в списке идёт слово “СЛОВО”?

Показать ответ и решение

Решение аналитически:

Исходя из порядка букв в списке, присвоим им следующие коды: О — 0, С — 1, Л — 2, В — 3. Тогда первое слово — 00000, второе — 00001 и т.д. Слово “СЛОВО” будет кодироваться как 12030. Т.к. для кодирования слова потребовалось всего 4 разные буквы, то код будет представлен в четверичной системе счисления. В десятичной системе счисления код слова “СЛОВО” будет принимать значение 120304 =  39610.  Тогда в самом списке слово “СЛОВО” будет идти под номером 397, т.к. отсчёт кодов начинается с нуля (1. ООООО = 0, 2. ООООС = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 5-буквенных слов из букв О, С, Л, В. Для этого организуем 5  вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “СЛОВО”, выведем его номер.

alf = "ОСЛВ" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                for m in alf:
                    s = i + j + k + l + m # Формируем слово
                    c += 1 # Обновляем номер слова
                    if s == "СЛОВО": # Проверяем главное условие задачи, выводим номер нужного слова
                        print(c)
                        break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“СЛОВО”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых четырёх словах из условия.
# Сначала идёт О, далее добавляется С, Л, В.
# Значит правильный порядок: ‘‘ОСЛВ’’.
t = product(’ОСЛВ’, repeat=5) # repeat обозначает количество букв, в заданных словах их 5
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "СЛОВО": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 397

Ошибка.
Попробуйте повторить позже

Задача 5#6209Максимум баллов за задание: 1

Все 5-буквенные слова, в составе которых могут быть буквы М, А, Е, Л, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. МММММ

2. ММММА

3. ММММЕ

4. ММММЛ

5. МММАМ

...

Под каким номером в списке идёт слово “ЛЕММА”?

Показать ответ и решение

Решение аналитически:

Исходя из порядка букв в списке, присвоим им следующие коды: М — 0, А — 1, Е — 2, Л — 3. Тогда первое слово — 00000, второе — 00001 и т.д. Слово “ЛЕММА” будет кодироваться как 32001. Т.к. для кодирования слова потребовалось всего 4 разные буквы, то код будет представлен в четверичной системе счисления. В десятичной системе счисления код слова “ЛЕММА” будет принимать значение 320014 =  89710.  Тогда в самом списке слово “ЛЕММА” будет идти под номером 898, т.к. отсчёт кодов начинается с нуля (1. МММММ = 0, 2. ММММА = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 5-буквенных слов из букв М, А, Е, Л. Для этого организуем 5  вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “ЛЕММА”, выведем его номер.

alf = "МАЕЛ" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                for m in alf:
                    s = i + j + k + l + m # Формируем слово
                    c += 1 # Обновляем номер слова
                    if s == "ЛЕММА": # Проверяем главное условие задачи, выводим номер нужного слова
                        print(c)
                        break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“ЛЕММА”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых четырёх словах из условия.
# Сначала идёт М, далее добавляется А, Е, Л.
# Значит правильный порядок: ‘‘МАЕЛ’’.
t = product("МАЕЛ", repeat=5) # repeat обозначает количество букв, в заданных словах их 5
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "ЛЕММА": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 898

Ошибка.
Попробуйте повторить позже

Задача 6#6210Максимум баллов за задание: 1

Все 5-буквенные слова, в составе которых могут быть буквы А, П, Ц, И, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. ААААА

2. ААААП

3. ААААЦ

4. ААААИ

5. АААПА

...

Под каким номером в списке идёт слово “ПИЦЦА”?

Показать ответ и решение

Решение аналитически:

Исходя из порядка букв в списке, присвоим им следующие коды: А — 0, П — 1, Ц — 2, И — 3. Тогда первое слово — 00000, второе — 00001 и т.д. Слово “ПИЦЦА” будет кодироваться как 13220. Т.к. для кодирования слова потребовалось всего 4 разные буквы, то код будет представлен в четверичной системе счисления. В десятичной системе счисления код слова “ПИЦЦА” будет принимать значение 132204 =  48810.  Тогда в самом списке слово “ПИЦЦА” будет идти под номером 489, т.к. отсчёт кодов начинается с нуля (1. ААААА = 0, 2. ААААП = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 5-буквенных слов из букв А, П, Ц, И. Для этого организуем 5  вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “ПИЦЦА”, выведем его номер.

alf = "АПЦИ" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                for m in alf:
                    s = i + j + k + l + m # Формируем слово
                    c += 1 # Обновляем номер слова
                    if s == "ПИЦЦА": # Проверяем главное условие задачи, выводим номер нужного слова
                        print(c)
                        break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“ПИЦЦА”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых четырёх словах из условия.
# Сначала идёт А, далее добавляется П, Ц, И.
# Значит правильный порядок: ‘‘АПЦИ’’.
t = product("АПЦИ", repeat=5) # repeat обозначает количество букв, в заданных словах их 5
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "ПИЦЦА": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 489

Ошибка.
Попробуйте повторить позже

Задача 7#7251Максимум баллов за задание: 1

Все 4-буквенные слова, в составе которых могут быть буквы А, Й, Т, Б, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. АААА

2. АААЙ

3. АААТ

4. АААБ

5. ААЙА

...

Под каким номером в списке идёт слово “БАЙТ”?

Показать ответ и решение

Решение аналитически:

Исходя из порядка букв в списке, присвоим им следующие коды: А — 0, Й — 1, Т — 2, Б — 3. Тогда первое слово — 0000, второе — 0001 и т.д. Слово “БАЙТ” будет кодироваться как 3012. Т.к. для кодирования слова потребовалось всего 4 разных букв, то код будет представлен в четверичной системе счисления. В десятичной системе счисления код слова “БАЙТ” будет принимать значение 30124 =  19810.  Тогда в самом списке слово “БАЙТ” будет идти под номером 199, т.к. отсчёт кодов начинается с нуля (1. АААА = 0, 2. АААЙ = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 4-буквенных слов из букв А, Й, Т, Б. Для этого организуем 4  вложенных цикла (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “БАЙТ”, выведем его номер.

alf = "АЙТБ" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                s = i + j + k + l # Формируем слово
                c += 1 # Обновляем номер слова
                if s == "БАЙТ": # Проверяем главное условие задачи, выводим номер нужного слова
                    print(c)
                    break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“БАЙТ”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых четырёх словах из условия.
# Сначала идёт А, далее добавляется Й, Т, Б.
# Значит правильный порядок: ‘‘АЙТБ’’.
t = product("АЙТБ", repeat=4) # repeat обозначает количество букв, в заданных словах их 4
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "БАЙТ": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 199

Ошибка.
Попробуйте повторить позже

Задача 8#7252Максимум баллов за задание: 1

Все 4-буквенные слова, в составе которых могут быть буквы Ё, К, Ж, И, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. ЁЁЁЁ

2. ЁЁЁК

3. ЁЁЁЖ

4. ЁЁЁИ

5. ЁЁКЁ

...

Под каким номером в списке идёт слово “ЁЖИК”?

Показать ответ и решение

Решение аналитически:

Исходя из порядка букв в списке, присвоим им следующие коды: Ё — 0, К — 1, Ж — 2, И — 3. Тогда первое слово — 0000, второе — 0001 и т.д. Слово “ЁЖИК” будет кодироваться как 0231. Т.к. для кодирования слова потребовалось всего 4 разных букв, то код будет представлен в четверичной системе счисления. В десятичной системе счисления код слова “ЁЖИК” будет принимать значение 2314 = 4510.  Тогда в самом списке слово “ЁЖИК” будет идти под номером 46, т.к. отсчёт кодов начинается с нуля (1. ЁЁЁЁ = 0, 2. ЁЁЁК = 1 и т.д.)

Решение программой с помощью python:

Напишем программу для перебора всевозможных 4-буквенных слов из букв Ё, К, Ж, И. Для этого организуем 4  вложенных цикла (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “ЁЖИК”, выведем его номер.

alf = "ЁКЖИ" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                s = i + j + k + l # Формируем слово
                c += 1 # Обновляем номер слова
                if s == "ЁЖИК": # Проверяем главное условие задачи, выводим номер нужного слова
                    print(c)
                    break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“ЁЖИК”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых четырёх словах из условия.
# Сначала идёт Ё, далее добавляется К, Ж, И.
# Значит правильный порядок: ‘‘ЁКЖИ’’.
t = product("ЁКЖИ", repeat=4) # repeat обозначает количество букв, в заданных словах их 4
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "ЁЖИК": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 46

Ошибка.
Попробуйте повторить позже

Задача 9#7253Максимум баллов за задание: 1

Все 4-буквенные слова, в составе которых могут быть буквы Л, О, К, Н, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. ЛЛЛЛ

2. ЛЛЛО

3. ЛЛЛК

4. ЛЛЛН

5. ЛЛОЛ

...

Под каким номером в списке идёт слово “КЛОН”?

Показать ответ и решение

Решение аналитически:

Исходя из порядка букв в списке, присвоим им следующие коды: Л — 0, О — 1, К — 2, Н — 3. Тогда первое слово — 0000, второе — 0001 и т.д. Слово “КЛОН” будет кодироваться как 2013. Т.к. для кодирования слова потребовалось всего 4 разных букв, то код будет представлен в четверичной системе счисления. В десятичной системе счисления код слова “КЛОН” будет принимать значение 20134 =  13510.  Тогда в самом списке слово “КЛОН” будет идти под номером 136, т.к. отсчёт кодов начинается с нуля (1. ЛЛЛЛ = 0, 2. ЛЛЛО = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 4-буквенных слов из букв Л, О, К, Н. Для этого организуем 4  вложенных цикла (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “КЛОН”, выведем его номер.

alf = "ЛОКН" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                s = i + j + k + l # Формируем слово
                c += 1 # Обновляем номер слова
                if s == "КЛОН": # Проверяем главное условие задачи, выводим номер нужного слова
                    print(c)
                    break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“КЛОН”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых пяти словах из условия.
# Сначала идёт Л, далее добавляется О, К, Н.
# Значит правильный порядок: ‘‘ЛОКН’’.
t = product("ЛОКН", repeat=4) # repeat обозначает количество букв, в заданных словах их 4
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = ’’.join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "КЛОН": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 136

Ошибка.
Попробуйте повторить позже

Задача 10#7254Максимум баллов за задание: 1

Все 4-буквенные слова, в составе которых могут быть буквы Ф, Ь, Э, Л, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. ФФФФ

2. ФФФЬ

3. ФФФЭ

4. ФФФЛ

5. ФФЬФ

...

Под каким номером в списке идёт слово “ЭЛЬФ”?

Показать ответ и решение

Решение аналитически:

Исходя из порядка букв в списке, присвоим им следующие коды: Ф — 0, Ь — 1, Э — 2, Л — 3. Тогда первое слово — 0000, второе — 0001 и т.д. Слово “ЭЛЬФ” будет кодироваться как 2310. Т.к. для кодирования слова потребовалось всего 4 разные буквы, то код будет представлен в четверичной системе счисления. В десятичной системе счисления код слова “ЭЛЬФ” будет принимать значение 23104 = 18010.  Тогда в самом списке слово “ЭЛЬФ” будет идти под номером 181, т.к. отсчёт кодов начинается с нуля (1. ФФФФ = 0, 2. ФФФЬ = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 4-буквенных слов из букв Ф, Ь, Э, Л. Для этого организуем 4  вложенных цикла (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “ЭЛЬФ”, выведем его номер.

alf = "ФЬЭЛ" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                s = i + j + k + l # Формируем слово
                c += 1 # Обновляем номер слова
                if s == "ЭЛЬФ": # Проверяем главное условие задачи, выводим номер нужного слова
                    print(c)
                    break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“ЭЛЬФ”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых четырёх словах из условия.
# Сначала идёт Ф, далее добавляется Ь, Э, Л.
# Значит правильный порядок: ‘‘ФЬЭЛ’’.
t = product("ФЬЭЛ", repeat=4) # repeat обозначает количество букв, в заданных словах их 4
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "ЭЛЬФ": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 181

Ошибка.
Попробуйте повторить позже

Задача 11#7255Максимум баллов за задание: 1

Все 5-буквенные слова, в составе которых могут быть буквы Л, О, И, Н, К, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. ЛЛЛЛЛ

2. ЛЛЛЛО

3. ЛЛЛЛИ

4. ЛЛЛЛН

5. ЛЛЛЛК

6. ЛЛЛОЛ

...

Под каким номером в списке идёт слово “НОЛИК”?

Показать ответ и решение

Решение аналитически:

Исходя из порядка букв в списке, присвоим им следующие коды: Л — 0, О — 1, И — 2, Н — 3, К — 4. Тогда первое слово — 00000, второе — 00001 и т.д. Слово “НОЛИК” будет кодироваться как 31024. Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в пятеричной системе счисления. В десятичной системе счисления код слова “НОЛИК” будет принимать значение 310245 =  201410.  Тогда в самом списке слово “НОЛИК” будет идти под номером 2015, т.к. отсчёт кодов начинается с нуля (1. ЛЛЛЛЛ = 0, 2. ЛЛЛЛО = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 5-буквенных слов из букв Л, О, И, Н, К. Для этого организуем 5  вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “НОЛИК”, выведем его номер.

alf = "ЛОИНК" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                for p in alf:
                    s = i + j + k + l + p # Формируем слово
                    c += 1 # Обновляем номер слова
                    if s == "НОЛИК": # Проверяем главное условие задачи, выводим номер нужного слова
                        print(c)
                        break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“НОЛИК”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых пяти словах из условия.
# Сначала идёт Л, далее добавляется О, И, Н, К.
# Значит правильный порядок: ‘‘ЛОИНК’’.
t = product("ЛОИНК", repeat = 5) # repeat обозначает количество букв, в заданных словах их 5
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "НОЛИК": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 2015

Ошибка.
Попробуйте повторить позже

Задача 12#7256Максимум баллов за задание: 1

Все 5-буквенные слова, в составе которых могут быть буквы С, К, П, О, Е, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. ССССС

2. ССССК

3. ССССП

4. ССССО

5. ССССЕ

6. СССКС

...

Под каким номером в списке идёт слово “ПЕСОК”?

Показать ответ и решение

Решение аналитически:

Исходя из порядка букв в списке, присвоим им следующие коды: С — 0, К — 1, П — 2, О — 3, Е — 4. Тогда первое слово — 00000, второе — 00001 и т.д. Слово “ПЕСОК” будет кодироваться как 24031. Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в пятеричной системе счисления. В десятичной системе счисления код слова “ПЕСОК” будет принимать значение 240315 =  176610.  Тогда в самом списке слово “ПЕСОК” будет идти под номером 1767, т.к. отсчёт кодов начинается с нуля (1. ССССС = 0, 2. ССССК = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 5-буквенных слов из букв С, К, П, О, Е. Для этого организуем 5  вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “ПЕСОК”, выведем его номер.

alf = "СКПОЕ" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                for p in alf:
                    s = i + j + k + l + p # Формируем слово
                    c += 1 # Обновляем номер слова
                    if s == "ПЕСОК": # Проверяем главное условие задачи, выводим номер нужного слова
                        print(c)
                        break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“ПЕСОК”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых пяти словах из условия.
# Сначала идёт С, далее добавляется К, П, О, Е.
# Значит правильный порядок: ‘‘СКПОЕ’’.
t = product("СКПОЕ", repeat = 5) # repeat обозначает количество букв, в заданных словах их 5
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "ПЕСОК": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 1767

Ошибка.
Попробуйте повторить позже

Задача 13#7257Максимум баллов за задание: 1

Все 5-буквенные слова, в составе которых могут быть буквы Я, М, Р, В, Е, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. ЯЯЯЯЯ

2. ЯЯЯЯМ

3. ЯЯЯЯР

4. ЯЯЯЯВ

5. ЯЯЯЯЕ

6. ЯЯЯМЯ

...

Под каким номером в списке идёт слово “ВРЕМЯ”?

Показать ответ и решение

Решение аналитически:

Исходя из порядка букв в списке, присвоим им следующие коды: Я — 0, М — 1, Р — 2, В — 3, Е — 4. Тогда первое слово — 00000, второе — 00001 и т.д. Слово “ВРЕМЯ” будет кодироваться как 32410. Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в пятеричной системе счисления. В десятичной системе счисления код слова “ВРЕМЯ” будет принимать значение 324105 =  223010.  Тогда в самом списке слово “ВРЕМЯ” будет идти под номером 2231, т.к. отсчёт кодов начинается с нуля (1. ЯЯЯЯЯ = 0, 2. ЯЯЯЯМ = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 5-буквенных слов из букв Я, М, Р, В, Е. Для этого организуем 5  вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “ВРЕМЯ”, выведем его номер.

alf = "ЯМРВЕ" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                for p in alf:
                    s = i + j + k + l + p # Формируем слово
                    c += 1 # Обновляем номер слова
                    if s == "ВРЕМЯ": # Проверяем главное условие задачи, выводим номер нужного слова
                        print(c)
                        break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“ВРЕМЯ”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых пяти словах из условия.
# Сначала идёт Я, далее добавляется М, Р, В, Е.
# Значит правильный порядок: ‘‘ЯМРВЕ’’.
t = product("ЯМРВЕ", repeat = 5) # repeat обозначает количество букв, в заданных словах их 5
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "ВРЕМЯ": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 2231

Ошибка.
Попробуйте повторить позже

Задача 14#7258Максимум баллов за задание: 1

Все 5-буквенные слова, в составе которых могут быть буквы Н, А, Г, К, И, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. ННННН

2. ННННА

3. ННННГ

4. ННННК

5. ННННИ

6. НННАН

...

Под каким номером в списке идёт слово “КНИГА”?

Показать ответ и решение

Решение аналитически:

Исходя из порядка букв в списке, присвоим им следующие коды: Н — 0, А — 1, Г — 2, К — 3, И — 4. Тогда первое слово — 00000, второе — 00001 и т.д. Слово “КНИГА” будет кодироваться как 30421. Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в пятеричной системе счисления. В десятичной системе счисления код слова “КНИГА” будет принимать значение 304215 =  198610.  Тогда в самом списке слово “КНИГА” будет идти под номером 1987, т.к. отсчёт кодов начинается с нуля (1. ННННН = 0, 2. ННННА = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 5-буквенных слов из букв Н, А, Г, К, И. Для этого организуем 5  вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “КНИГА”, выведем его номер.

alf = "НАГКИ" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                for p in alf:
                    s = i + j + k + l + p # Формируем слово
                    c += 1 # Обновляем номер слова
                    if s == "КНИГА": # Проверяем главное условие задачи, выводим номер нужного слова
                        print(c)
                        break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“КНИГА”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых пяти словах из условия.
# Сначала идёт Н, далее добавляется А, Г, К, И.
# Значит правильный порядок: ‘‘НАГКИ’’.
t = product("НАГКИ", repeat = 5) # repeat обозначает количество букв, в заданных словах их 5
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "КНИГА": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 1987

Ошибка.
Попробуйте повторить позже

Задача 15#7259Максимум баллов за задание: 1

Все 6-буквенные слова, в составе которых могут быть буквы З, А, И, Т, К, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. ЗЗЗЗЗЗ

2. ЗЗЗЗЗА

3. ЗЗЗЗЗИ

4. ЗЗЗЗЗТ

5. ЗЗЗЗЗК

6. ЗЗЗЗАЗ

...

Под каким номером в списке идёт слово “АЗАТИК”?

Показать ответ и решение

Решение аналитически:

Исходя из порядка букв в списке, присвоим им следующие коды: З — 0, А — 1, И — 2, Т — 3, К — 4. Тогда первое слово — 000000, второе — 000001 и т.д. Слово “АЗАТИК” будет кодироваться как 101324. Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в пятеричной системе счисления. В десятичной системе счисления код слова “АЗАТИК” будет принимать значение 1013245 =  333910.  Тогда в самом списке слово “АЗАТИК” будет идти под номером 3340, т.к. отсчёт кодов начинается с нуля (1. ЗЗЗЗЗЗ = 0, 2. ЗЗЗЗЗА = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 6-буквенных слов из букв З, А, И, Т, К. Для этого организуем 6  вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “АЗАТИК”, выведем его номер.

alf = "ЗАИТК" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                for p in alf:
                    for o in alf:
                        s = i + j + k + l + p + o # Формируем слово
                        c += 1 # Обновляем номер слова
                        if s == "АЗАТИК": # Проверяем главное условие задачи, выводим номер нужного слова
                            print(c)
                            break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“АЗАТИК”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых пяти словах из условия.
# Сначала идёт З, далее добавляется А, И, Т, К.
# Значит правильный порядок: ‘‘ЗАИТК’’.
t = product("ЗАИТК", repeat = 6) # repeat обозначает количество букв, в заданных словах их 6
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "АЗАТИК": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 3340

Ошибка.
Попробуйте повторить позже

Задача 16#7260Максимум баллов за задание: 1

Все 6-буквенные слова, в составе которых могут быть буквы А, Н, М, Ш, И, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. АААААА

2. АААААН

3. АААААМ

4. АААААШ

5. АААААИ

6. ААААНА

...

Под каким номером в списке идёт слово “МАШИНА”?

Показать ответ и решение

Решение руками:

Исходя из порядка букв в списке, присвоим им следующие коды: А — 0, Н — 1, М — 2, Ш — 3, И — 4. Тогда первое слово — 000000, второе — 000001 и т.д. Слово “МАШИНА” будет кодироваться как 203410. Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в пятеричной системе счисления. В десятичной системе счисления код слова “МАШИНА” будет принимать значение 2034105 =  673010.  Тогда в самом списке слово “МАШИНА” будет идти под номером 6731, т.к. отсчёт кодов начинается с нуля (1. АААААА = 0, 2. АААААН = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 6-буквенных слов из букв А, Н, М, Ш, И. Для этого организуем 6  вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “МАШИНА”, выведем его номер.

alf = "АНМШИ" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                for p in alf:
                    for o in alf:
                        s = i + j + k + l + p + o # Формируем слово
                        c += 1 # Обновляем номер слова
                        if s == "МАШИНА": # Проверяем главное условие задачи, выводим номер нужного слова
                            print(c)
                            break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“МАШИНА”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых пяти словах из условия.
# Сначала идёт А, далее добавляется Н, М, Ш, И.
# Значит правильный порядок: ‘‘АНМШИ’’.
t = product("АНМШИ", repeat = 6) # repeat обозначает количество букв, в заданных словах их 6
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "МАШИНА": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 6731

Ошибка.
Попробуйте повторить позже

Задача 17#7261Максимум баллов за задание: 1

Все 6-буквенные слова, в составе которых могут быть буквы А, К, Р, М, Е, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. АААААА

2. АААААК

3. АААААР

4. АААААМ

5. АААААЕ

6. ААААКА

...

Под каким номером в списке идёт слово “МАРКЕР”?

Показать ответ и решение

Решение руками:

Исходя из порядка букв в списке, присвоим им следующие коды: А — 0, К — 1, Р — 2, М — 3, Е — 4. Тогда первое слово — 000000, второе — 000001 и т.д. Слово “МАРКЕР” будет кодироваться как 302142. Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в пятеричной системе счисления. В десятичной системе счисления код слова “МАРКЕР” будет принимать значение 3021425 =  967210.  Тогда в самом списке слово “МАРКЕР” будет идти под номером 9673, т.к. отсчёт кодов начинается с нуля (1. АААААА = 0, 2. АААААК = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 6-буквенных слов из букв А, К, Р, М, Е. Для этого организуем 6  вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “МАРКЕР”, выведем его номер.

alf = "АКРМЕ" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                for p in alf:
                    for o in alf:
                        s = i + j + k + l + p + o # Формируем слово
                        c += 1 # Обновляем номер слова
                        if s == "МАРКЕР": # Проверяем главное условие задачи, выводим номер нужного слова
                            print(c)
                            break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“МАРКЕР”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых пяти словах из условия.
# Сначала идёт А, далее добавляется К, Р, М, Е.
# Значит правильный порядок: ‘‘АКРМЕ’’.
t = product("АКРМЕ", repeat = 6) # repeat обозначает количество букв, в заданных словах их 6
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "МАРКЕР": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 9673

Ошибка.
Попробуйте повторить позже

Задача 18#7262Максимум баллов за задание: 1

Все 6-буквенные слова, в составе которых могут быть буквы В, Д, З, Е, А, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. ВВВВВВ

2. ВВВВВД

3. ВВВВВЗ

4. ВВВВВЕ

5. ВВВВВА

6. ВВВВДВ

...

Под каким номером в списке идёт слово “ЗВЕЗДА”?

Показать ответ и решение

Решение руками:

Исходя из порядка букв в списке, присвоим им следующие коды: В — 0, Д — 1, З — 2, Е — 3, А — 4. Тогда первое слово — 000000, второе — 000001 и т.д. Слово “ЗВЕЗДА” будет кодироваться как 203214. Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в пятеричной системе счисления. В десятичной системе счисления код слова “ЗВЕЗДА” будет принимать значение 2032145 =  668410.  Тогда в самом списке слово “ЗВЕЗДА” будет идти под номером 6685, т.к. отсчёт кодов начинается с нуля (1. ВВВВВВ = 0, 2. ВВВВВД = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 6-буквенных слов из букв В, Д, З, Е, А. Для этого организуем 6  вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “ЗВЕЗДА”, выведем его номер.

alf = "ВДЗЕА" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                for p in alf:
                    for o in alf:
                        s = i + j + k + l + p + o # Формируем слово
                        c += 1 # Обновляем номер слова
                        if s == "ЗВЕЗДА": # Проверяем главное условие задачи, выводим номер нужного слова
                            print(c)
                            break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“ЗВЕЗДА”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых пяти словах из условия.
# Сначала идёт В, далее добавляется Д, З, Е, А.
# Значит правильный порядок: ‘‘ВДЗЕА’’.
t = product("ВДЗЕА", repeat = 6) # repeat обозначает количество букв, в заданных словах их 6
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "ЗВЕЗДА": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 6685

Ошибка.
Попробуйте повторить позже

Задача 19#7263Максимум баллов за задание: 1

Все 5-буквенные слова, в составе которых могут быть буквы О, Т, Р, Б, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. ООООО

2. ООООТ

3. ООООР

4. ООООБ

5. ОООТО

...

Под каким номером в списке идёт слово “РОБОТ”?

Показать ответ и решение

Решение руками:

Исходя из порядка букв в списке, присвоим им следующие коды: О — 0, Т — 1, Р — 2, Б — 3. Тогда первое слово — 00000, второе — 00001 и т.д. Слово “РОБОТ” будет кодироваться как 20301. Т.к. для кодирования слова потребовалось всего 4 разные буквы, то код будет представлен в четверичной системе счисления. В десятичной системе счисления код слова “РОБОТ” будет принимать значение 203014 =  56110.  Тогда в самом списке слово “РОБОТ” будет идти под номером 562, т.к. отсчёт кодов начинается с нуля (1. ООООО = 0, 2. ООООТ = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 5-буквенных слов из букв О, Т, Р, Б. Для этого организуем 5  вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “РОБОТ”, выведем его номер.

alf = "ОТРБ" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                for p in alf:
                    s = i + j + k + l + p # Формируем слово
                    c += 1 # Обновляем номер слова
                    if s == "РОБОТ": # Проверяем главное условие задачи, выводим номер нужного слова
                        print(c)
                        break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“РОБОТ”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых четырёх словах из условия.
# Сначала идёт О, далее добавляется Т, Р, Б.
# Значит правильный порядок: ‘‘ОТРБ’’.
t = product("ОТРБ", repeat = 5) # repeat обозначает количество букв, в заданных словах их 5
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "РОБОТ": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 562

Ошибка.
Попробуйте повторить позже

Задача 20#7264Максимум баллов за задание: 1

Все 5-буквенные слова, в составе которых могут быть буквы М, Щ, Н, О, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. МММММ

2. ММММЩ

3. ММММН

4. ММММО

5. МММЩМ

...

Под каким номером в списке идёт слово “МОЩНО”?

Показать ответ и решение

Решение руками:

Исходя из порядка букв в списке, присвоим им следующие коды: М — 0, Щ — 1, Н — 2, О — 3. Тогда первое слово — 00000, второе — 00001 и т.д. Слово “МОЩНО” будет кодироваться как 03123. Т.к. для кодирования слова потребовалось всего 4 разные буквы, то код будет представлен в четверичной системе счисления. В десятичной системе счисления код слова “МОЩНО” будет принимать значение 31234 = 21910.  Тогда в самом списке слово “МОЩНО” будет идти под номером 220, т.к. отсчёт кодов начинается с нуля (1. МММММ = 0, 2. ММММЩ = 1 и т.д.)

Решение программой с помощью циклов:

Напишем программу для перебора всевозможных 5-буквенных слов из букв М, Щ, Н, О. Для этого организуем 5  вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает буквы заданной строки, формируя все возможные комбинации. После составления очередного слова необходимо получить его номер, добавив к счётчику 1  . Завершим цикл, если этим словом оказалось “МОЩНО”, выведем его номер.

alf = "МЩНО" # Алфавит к задаче
c = 0 # Переменная, обозначающая номер текущего слова
for i in alf:
    for j in alf:
        for k in alf:
            for l in alf:
                for p in alf:
                    s = i + j + k + l + p # Формируем слово
                    c += 1 # Обновляем номер слова
                    if s == "МОЩНО": # Проверяем главное условие задачи, выводим номер нужного слова
                        print(c)
                        break

Решение программой с помощью модуля itertools:

Для решения задачи с помощью модуля itertools воспользуемся функцией product. Она генерирует все возможные слова из заданного алфавита. Проверим каждое слово, при нахождении нужного (“МОЩНО”) выведем его номер.

from itertools import *
# Используем product. Порядок использования букв можно заметить в первых пяти словах из условия.
# Сначала идёт М, далее добавляется Щ, Н, О.
# Значит правильный порядок: ‘‘МЩНО’’.
t = product("МЩНО", repeat = 5) # repeat обозначает количество букв, в заданных словах их 5
c = 0 # Переменная, обозначающая номер текущего слова
for i in t:
    s = "".join(i) # join обьединит символы, оставим кавычки пустыми, чтобы получилось единое слово
    c += 1 # Обновим номер слова
    if s == "МОЩНО": # Проверяем главное условие задачи, выводим номер нужного слова
        print(c)

Ответ: 220
Рулетка
Вы можете получить скидку в рулетке!