Форум » Кодирование и декодирование информации » Задание № 8. Задача № 208 » Ответить

Задание № 8. Задача № 208

nikolya29: (№ 208) Алексей составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Алексей использует 5-буквенные слова, в которых есть только буквы A, B, C, X, причём буква X может появиться на последнем месте или не появиться вовсе. Сколько различных кодовых слов может использовать Алексей? Спрятать ответ: 324 Почему ответ 324? У меня ответ = 499. Вот мой код: [pre2] list1 = ['A','B','C','X'] count = 0 for q in list1: for w in list1: for e in list1: for r in list1: for t in list1: string = q+w+e+r+t if string[4] == 'X' or string.count('X') == 0: count += 1 print(string) print(count) [/pre2]

Ответов - 6

cabanov.alexey: Ваша программа пропускает слова вроде XXXXX if (string[4] == 'X' and string.count('X')==1) or string.count('X') == 0:

nikolya29: Так в условии задачи не сказано, что "X" появляется ровно 1 раз.

cabanov.alexey: причём буква X может появиться на последнем месте или не появиться вовсе.


nikolya29: Вот такой код X***X разве не удовлетворяет условию? Буква "X" появилась же на последнем месте

cabanov.alexey: Нет. Подразумевается наличие буквы Х исключительно на последнем месте. Не додумывайте того, чего нет.

nikson: Можно решить аналитически так: 3*3*3*3*4 = 81*4 = 324 Или так: без "Х" - 3*3*3*3*3 = 243 с "Х" - 3*3*3*3*1 = 81 Итого 243+81 = 324



полная версия страницы