8.01 Слова в алфавитном порядке
Готовиться с нами - ЛЕГКО!
Ошибка.
Попробуйте повторить позже
Все 4-буквенные слова, в составе которых могут быть буквы Н, Р, Д, О, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. НННН
2. НННР
3. НННД
4. НННО
5. ННРН
Под каким номером в списке идёт слово “ДРОН”?
Решение аналитически:
Исходя из порядка букв в списке, присвоим им следующие коды: Н — 0, Р — 1, Д — 2, О
— 3. Тогда первое слово — 0000, второе — 0001 и т.д. Слово “ДРОН” будет кодироваться
как 2130. Т.к. для кодирования слова потребовалось всего 4 разные буквы, то код будет
представлен в четверичной системе счисления. В десятичной системе счисления код слова
“ДРОН” будет принимать значение Тогда в самом списке слово “ДРОН” будет
идти под номером 157, т.к. отсчёт кодов начинается с нуля (1. НННН = 0, 2. НННР = 1 и
т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 4-буквенных слов из букв Н, Р, Д, О. Для этого
организуем вложенных цикла (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“ДРОН”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 5-буквенные слова, в составе которых могут быть буквы С, Ь, А, П, Т, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. ССССС
2. ССССЬ
3. ССССА
4. ССССП
5. ССССТ
6. СССЬС
Под каким номером в списке идёт слово “СПАТЬ”?
Решение аналитически:
Исходя из порядка букв в списке, присвоим им следующие коды: С — 0, Ь — 1, А — 2, П — 3, Т —
4. Тогда первое слово — 00000, второе — 00001 и т.д. Слово “СПАТЬ” будет кодироваться
как 03241. Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет
представлен в пятеричной системе счисления. В десятичной системе счисления код слова
“СПАТЬ” будет принимать значение Тогда в самом списке слово “СПАТЬ” будет
идти под номером 447, т.к. отсчёт кодов начинается с нуля (1. ССССС = 0, 2. ССССЬ = 1 и
т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 5-буквенных слов из букв С, Ь, А, П, Т. Для этого
организуем вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“СПАТЬ”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 6-буквенные слова, в составе которых могут быть буквы Б, А, К, Р, Д, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. ББББББ
2. БББББА
3. БББББК
4. БББББР
5. БББББД
6. ББББАБ
Под каким номером в списке идёт слово “БАРДАК”?
Решение аналитически:
Исходя из порядка букв в списке, присвоим им следующие коды: Б — 0, А — 1, К — 2, Р — 3, Д — 4.
Тогда первое слово — 000000, второе — 000001 и т.д. Слово “БАРДАК” будет кодироваться как 013412.
Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в
пятеричной системе счисления. В десятичной системе счисления код слова “БАРДАК” будет
принимать значение Тогда в самом списке слово “БАРДАК” будет идти
под номером 1108, т.к. отсчёт кодов начинается с нуля (1. ББББББ = 0, 2. БББББА = 1 и
т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 6-буквенных слов из букв Б, А, К, Р, Д. Для этого
организуем вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“БАРДАК”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 5-буквенные слова, в составе которых могут быть буквы О, С, Л, В, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. ООООО
2. ООООС
3. ООООЛ
4. ООООВ
5. ОООСО
Под каким номером в списке идёт слово “СЛОВО”?
Решение аналитически:
Исходя из порядка букв в списке, присвоим им следующие коды: О — 0, С — 1, Л — 2, В — 3. Тогда
первое слово — 00000, второе — 00001 и т.д. Слово “СЛОВО” будет кодироваться как 12030.
Т.к. для кодирования слова потребовалось всего 4 разные буквы, то код будет представлен
в четверичной системе счисления. В десятичной системе счисления код слова “СЛОВО”
будет принимать значение Тогда в самом списке слово “СЛОВО” будет идти
под номером 397, т.к. отсчёт кодов начинается с нуля (1. ООООО = 0, 2. ООООС = 1 и
т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 5-буквенных слов из букв О, С, Л, В. Для этого
организуем вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“СЛОВО”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 5-буквенные слова, в составе которых могут быть буквы М, А, Е, Л, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. МММММ
2. ММММА
3. ММММЕ
4. ММММЛ
5. МММАМ
Под каким номером в списке идёт слово “ЛЕММА”?
Решение аналитически:
Исходя из порядка букв в списке, присвоим им следующие коды: М — 0, А — 1, Е — 2, Л — 3. Тогда
первое слово — 00000, второе — 00001 и т.д. Слово “ЛЕММА” будет кодироваться как 32001. Т.к.
для кодирования слова потребовалось всего 4 разные буквы, то код будет представлен в
четверичной системе счисления. В десятичной системе счисления код слова “ЛЕММА” будет
принимать значение Тогда в самом списке слово “ЛЕММА” будет идти
под номером 898, т.к. отсчёт кодов начинается с нуля (1. МММММ = 0, 2. ММММА = 1 и
т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 5-буквенных слов из букв М, А, Е, Л. Для этого
организуем вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“ЛЕММА”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 5-буквенные слова, в составе которых могут быть буквы А, П, Ц, И, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. ААААА
2. ААААП
3. ААААЦ
4. ААААИ
5. АААПА
Под каким номером в списке идёт слово “ПИЦЦА”?
Решение аналитически:
Исходя из порядка букв в списке, присвоим им следующие коды: А — 0, П — 1, Ц — 2, И — 3. Тогда
первое слово — 00000, второе — 00001 и т.д. Слово “ПИЦЦА” будет кодироваться как 13220. Т.к.
для кодирования слова потребовалось всего 4 разные буквы, то код будет представлен в
четверичной системе счисления. В десятичной системе счисления код слова “ПИЦЦА” будет
принимать значение Тогда в самом списке слово “ПИЦЦА” будет идти
под номером 489, т.к. отсчёт кодов начинается с нуля (1. ААААА = 0, 2. ААААП = 1 и
т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 5-буквенных слов из букв А, П, Ц, И. Для этого
организуем вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“ПИЦЦА”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 4-буквенные слова, в составе которых могут быть буквы А, Й, Т, Б, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. АААА
2. АААЙ
3. АААТ
4. АААБ
5. ААЙА
Под каким номером в списке идёт слово “БАЙТ”?
Решение аналитически:
Исходя из порядка букв в списке, присвоим им следующие коды: А — 0, Й — 1, Т — 2, Б — 3. Тогда
первое слово — 0000, второе — 0001 и т.д. Слово “БАЙТ” будет кодироваться как 3012. Т.к. для
кодирования слова потребовалось всего 4 разных букв, то код будет представлен в четверичной системе
счисления. В десятичной системе счисления код слова “БАЙТ” будет принимать значение
Тогда в самом списке слово “БАЙТ” будет идти под номером 199, т.к. отсчёт кодов
начинается с нуля (1. АААА = 0, 2. АААЙ = 1 и т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 4-буквенных слов из букв А, Й, Т, Б. Для этого
организуем вложенных цикла (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“БАЙТ”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 4-буквенные слова, в составе которых могут быть буквы Ё, К, Ж, И, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. ЁЁЁЁ
2. ЁЁЁК
3. ЁЁЁЖ
4. ЁЁЁИ
5. ЁЁКЁ
Под каким номером в списке идёт слово “ЁЖИК”?
Решение аналитически:
Исходя из порядка букв в списке, присвоим им следующие коды: Ё — 0, К — 1, Ж — 2, И — 3. Тогда
первое слово — 0000, второе — 0001 и т.д. Слово “ЁЖИК” будет кодироваться как 0231. Т.к. для
кодирования слова потребовалось всего 4 разных букв, то код будет представлен в четверичной системе
счисления. В десятичной системе счисления код слова “ЁЖИК” будет принимать значение
Тогда в самом списке слово “ЁЖИК” будет идти под номером 46, т.к. отсчёт кодов начинается с нуля (1.
ЁЁЁЁ = 0, 2. ЁЁЁК = 1 и т.д.)
Решение программой с помощью python:
Напишем программу для перебора всевозможных 4-буквенных слов из букв Ё, К, Ж, И. Для этого
организуем вложенных цикла (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“ЁЖИК”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 4-буквенные слова, в составе которых могут быть буквы Л, О, К, Н, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. ЛЛЛЛ
2. ЛЛЛО
3. ЛЛЛК
4. ЛЛЛН
5. ЛЛОЛ
Под каким номером в списке идёт слово “КЛОН”?
Решение аналитически:
Исходя из порядка букв в списке, присвоим им следующие коды: Л — 0, О — 1, К — 2, Н — 3. Тогда
первое слово — 0000, второе — 0001 и т.д. Слово “КЛОН” будет кодироваться как 2013. Т.к. для
кодирования слова потребовалось всего 4 разных букв, то код будет представлен в четверичной системе
счисления. В десятичной системе счисления код слова “КЛОН” будет принимать значение
Тогда в самом списке слово “КЛОН” будет идти под номером 136, т.к. отсчёт кодов
начинается с нуля (1. ЛЛЛЛ = 0, 2. ЛЛЛО = 1 и т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 4-буквенных слов из букв Л, О, К, Н. Для этого
организуем вложенных цикла (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“КЛОН”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 4-буквенные слова, в составе которых могут быть буквы Ф, Ь, Э, Л, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. ФФФФ
2. ФФФЬ
3. ФФФЭ
4. ФФФЛ
5. ФФЬФ
Под каким номером в списке идёт слово “ЭЛЬФ”?
Решение аналитически:
Исходя из порядка букв в списке, присвоим им следующие коды: Ф — 0, Ь — 1, Э — 2, Л
— 3. Тогда первое слово — 0000, второе — 0001 и т.д. Слово “ЭЛЬФ” будет кодироваться
как 2310. Т.к. для кодирования слова потребовалось всего 4 разные буквы, то код будет
представлен в четверичной системе счисления. В десятичной системе счисления код слова
“ЭЛЬФ” будет принимать значение Тогда в самом списке слово “ЭЛЬФ” будет
идти под номером 181, т.к. отсчёт кодов начинается с нуля (1. ФФФФ = 0, 2. ФФФЬ = 1 и
т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 4-буквенных слов из букв Ф, Ь, Э, Л. Для этого
организуем вложенных цикла (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“ЭЛЬФ”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 5-буквенные слова, в составе которых могут быть буквы Л, О, И, Н, К, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. ЛЛЛЛЛ
2. ЛЛЛЛО
3. ЛЛЛЛИ
4. ЛЛЛЛН
5. ЛЛЛЛК
6. ЛЛЛОЛ
Под каким номером в списке идёт слово “НОЛИК”?
Решение аналитически:
Исходя из порядка букв в списке, присвоим им следующие коды: Л — 0, О — 1, И — 2, Н — 3, К — 4.
Тогда первое слово — 00000, второе — 00001 и т.д. Слово “НОЛИК” будет кодироваться как 31024.
Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в
пятеричной системе счисления. В десятичной системе счисления код слова “НОЛИК” будет
принимать значение Тогда в самом списке слово “НОЛИК” будет идти
под номером 2015, т.к. отсчёт кодов начинается с нуля (1. ЛЛЛЛЛ = 0, 2. ЛЛЛЛО = 1 и
т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 5-буквенных слов из букв Л, О, И, Н, К. Для этого
организуем вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“НОЛИК”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 5-буквенные слова, в составе которых могут быть буквы С, К, П, О, Е, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. ССССС
2. ССССК
3. ССССП
4. ССССО
5. ССССЕ
6. СССКС
Под каким номером в списке идёт слово “ПЕСОК”?
Решение аналитически:
Исходя из порядка букв в списке, присвоим им следующие коды: С — 0, К — 1, П — 2, О — 3, Е — 4.
Тогда первое слово — 00000, второе — 00001 и т.д. Слово “ПЕСОК” будет кодироваться как 24031.
Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в
пятеричной системе счисления. В десятичной системе счисления код слова “ПЕСОК” будет
принимать значение Тогда в самом списке слово “ПЕСОК” будет идти
под номером 1767, т.к. отсчёт кодов начинается с нуля (1. ССССС = 0, 2. ССССК = 1 и
т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 5-буквенных слов из букв С, К, П, О, Е. Для этого
организуем вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“ПЕСОК”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 5-буквенные слова, в составе которых могут быть буквы Я, М, Р, В, Е, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. ЯЯЯЯЯ
2. ЯЯЯЯМ
3. ЯЯЯЯР
4. ЯЯЯЯВ
5. ЯЯЯЯЕ
6. ЯЯЯМЯ
Под каким номером в списке идёт слово “ВРЕМЯ”?
Решение аналитически:
Исходя из порядка букв в списке, присвоим им следующие коды: Я — 0, М — 1, Р — 2, В — 3, Е — 4.
Тогда первое слово — 00000, второе — 00001 и т.д. Слово “ВРЕМЯ” будет кодироваться как 32410.
Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в
пятеричной системе счисления. В десятичной системе счисления код слова “ВРЕМЯ” будет
принимать значение Тогда в самом списке слово “ВРЕМЯ” будет идти
под номером 2231, т.к. отсчёт кодов начинается с нуля (1. ЯЯЯЯЯ = 0, 2. ЯЯЯЯМ = 1 и
т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 5-буквенных слов из букв Я, М, Р, В, Е. Для этого
организуем вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“ВРЕМЯ”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 5-буквенные слова, в составе которых могут быть буквы Н, А, Г, К, И, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. ННННН
2. ННННА
3. ННННГ
4. ННННК
5. ННННИ
6. НННАН
Под каким номером в списке идёт слово “КНИГА”?
Решение аналитически:
Исходя из порядка букв в списке, присвоим им следующие коды: Н — 0, А — 1, Г — 2, К — 3, И — 4.
Тогда первое слово — 00000, второе — 00001 и т.д. Слово “КНИГА” будет кодироваться как 30421.
Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в
пятеричной системе счисления. В десятичной системе счисления код слова “КНИГА” будет
принимать значение Тогда в самом списке слово “КНИГА” будет идти
под номером 1987, т.к. отсчёт кодов начинается с нуля (1. ННННН = 0, 2. ННННА = 1 и
т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 5-буквенных слов из букв Н, А, Г, К, И. Для этого
организуем вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“КНИГА”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 6-буквенные слова, в составе которых могут быть буквы З, А, И, Т, К, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. ЗЗЗЗЗЗ
2. ЗЗЗЗЗА
3. ЗЗЗЗЗИ
4. ЗЗЗЗЗТ
5. ЗЗЗЗЗК
6. ЗЗЗЗАЗ
Под каким номером в списке идёт слово “АЗАТИК”?
Решение аналитически:
Исходя из порядка букв в списке, присвоим им следующие коды: З — 0, А — 1, И — 2, Т — 3, К — 4.
Тогда первое слово — 000000, второе — 000001 и т.д. Слово “АЗАТИК” будет кодироваться как 101324.
Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в
пятеричной системе счисления. В десятичной системе счисления код слова “АЗАТИК” будет
принимать значение Тогда в самом списке слово “АЗАТИК” будет идти
под номером 3340, т.к. отсчёт кодов начинается с нуля (1. ЗЗЗЗЗЗ = 0, 2. ЗЗЗЗЗА = 1 и
т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 6-буквенных слов из букв З, А, И, Т, К. Для этого
организуем вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“АЗАТИК”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 6-буквенные слова, в составе которых могут быть буквы А, Н, М, Ш, И, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. АААААА
2. АААААН
3. АААААМ
4. АААААШ
5. АААААИ
6. ААААНА
Под каким номером в списке идёт слово “МАШИНА”?
Решение руками:
Исходя из порядка букв в списке, присвоим им следующие коды: А — 0, Н — 1, М — 2, Ш — 3, И — 4.
Тогда первое слово — 000000, второе — 000001 и т.д. Слово “МАШИНА” будет кодироваться как 203410.
Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в
пятеричной системе счисления. В десятичной системе счисления код слова “МАШИНА” будет
принимать значение Тогда в самом списке слово “МАШИНА” будет идти под
номером 6731, т.к. отсчёт кодов начинается с нуля (1. АААААА = 0, 2. АААААН = 1 и
т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 6-буквенных слов из букв А, Н, М, Ш, И. Для этого
организуем вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“МАШИНА”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 6-буквенные слова, в составе которых могут быть буквы А, К, Р, М, Е, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. АААААА
2. АААААК
3. АААААР
4. АААААМ
5. АААААЕ
6. ААААКА
Под каким номером в списке идёт слово “МАРКЕР”?
Решение руками:
Исходя из порядка букв в списке, присвоим им следующие коды: А — 0, К — 1, Р — 2, М — 3, Е — 4.
Тогда первое слово — 000000, второе — 000001 и т.д. Слово “МАРКЕР” будет кодироваться как 302142.
Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в
пятеричной системе счисления. В десятичной системе счисления код слова “МАРКЕР” будет
принимать значение Тогда в самом списке слово “МАРКЕР” будет идти под
номером 9673, т.к. отсчёт кодов начинается с нуля (1. АААААА = 0, 2. АААААК = 1 и
т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 6-буквенных слов из букв А, К, Р, М, Е. Для этого
организуем вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“МАРКЕР”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 6-буквенные слова, в составе которых могут быть буквы В, Д, З, Е, А, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. ВВВВВВ
2. ВВВВВД
3. ВВВВВЗ
4. ВВВВВЕ
5. ВВВВВА
6. ВВВВДВ
Под каким номером в списке идёт слово “ЗВЕЗДА”?
Решение руками:
Исходя из порядка букв в списке, присвоим им следующие коды: В — 0, Д — 1, З — 2, Е — 3, А — 4.
Тогда первое слово — 000000, второе — 000001 и т.д. Слово “ЗВЕЗДА” будет кодироваться как 203214.
Т.к. для кодирования слова потребовалось всего 5 разных букв, то код будет представлен в
пятеричной системе счисления. В десятичной системе счисления код слова “ЗВЕЗДА” будет
принимать значение Тогда в самом списке слово “ЗВЕЗДА” будет идти
под номером 6685, т.к. отсчёт кодов начинается с нуля (1. ВВВВВВ = 0, 2. ВВВВВД = 1 и
т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 6-буквенных слов из букв В, Д, З, Е, А. Для этого
организуем вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“ЗВЕЗДА”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 5-буквенные слова, в составе которых могут быть буквы О, Т, Р, Б, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. ООООО
2. ООООТ
3. ООООР
4. ООООБ
5. ОООТО
Под каким номером в списке идёт слово “РОБОТ”?
Решение руками:
Исходя из порядка букв в списке, присвоим им следующие коды: О — 0, Т — 1, Р — 2, Б —
3. Тогда первое слово — 00000, второе — 00001 и т.д. Слово “РОБОТ” будет кодироваться
как 20301. Т.к. для кодирования слова потребовалось всего 4 разные буквы, то код будет
представлен в четверичной системе счисления. В десятичной системе счисления код слова “РОБОТ”
будет принимать значение Тогда в самом списке слово “РОБОТ” будет идти
под номером 562, т.к. отсчёт кодов начинается с нуля (1. ООООО = 0, 2. ООООТ = 1 и
т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 5-буквенных слов из букв О, Т, Р, Б. Для этого
организуем вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“РОБОТ”, выведем его номер.
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)
Ошибка.
Попробуйте повторить позже
Все 5-буквенные слова, в составе которых могут быть буквы М, Щ, Н, О, записаны в определённом порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.
1. МММММ
2. ММММЩ
3. ММММН
4. ММММО
5. МММЩМ
Под каким номером в списке идёт слово “МОЩНО”?
Решение руками:
Исходя из порядка букв в списке, присвоим им следующие коды: М — 0, Щ — 1, Н — 2, О — 3. Тогда
первое слово — 00000, второе — 00001 и т.д. Слово “МОЩНО” будет кодироваться как 03123. Т.к.
для кодирования слова потребовалось всего 4 разные буквы, то код будет представлен в
четверичной системе счисления. В десятичной системе счисления код слова “МОЩНО” будет
принимать значение Тогда в самом списке слово “МОЩНО” будет идти под
номером 220, т.к. отсчёт кодов начинается с нуля (1. МММММ = 0, 2. ММММЩ = 1 и
т.д.)
Решение программой с помощью циклов:
Напишем программу для перебора всевозможных 5-буквенных слов из букв М, Щ, Н, О. Для этого
организуем вложенных циклов (по одному на каждую позицию в слове). Каждый цикл перебирает
буквы заданной строки, формируя все возможные комбинации. После составления очередного слова
необходимо получить его номер, добавив к счётчику
. Завершим цикл, если этим словом оказалось
“МОЩНО”, выведем его номер.
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)