Автор | Сообщение |
|
Отправлено: 07.01.22 12:26. Заголовок: задание 8- 4228
Подскажите условие корректно? (№ 4228) (А. Куканова) Маша составляет четырёхбуквенные слова из букв A, B, C, D, E, причём сначала в слове должны быть расположены гласные в алфавитном порядке, затем согласные в обратном алфавитном порядке. Буквы могут повторяться. Слово может состоять только из гласных или только из согласных. Пример подходящего слова: AAEDC. Сколько различных слов может составить Маша? 4-х буквенные слова, а пример 5-ти буквенный и Слово может состоять только из гласных или только из согласных, а в примере и из гласных и согласных?
|
|
|
Ответов - 12
[только новые]
|
|
|
| Администратор
|
Сообщение: 3159
|
|
Отправлено: 07.01.22 23:58. Заголовок: В примере опечатка -..
В примере опечатка - должно быть AEDC. В остальном все верно. цитата: | Слово может состоять только из гласных или только из согласных, а в примере и из гласных и согласных? |
|
Может, но не должно. Ответ верный.
|
|
|
|
Отправлено: 08.01.22 17:19. Заголовок: Поляков пишет: Може..
Поляков пишет: цитата: | Может, но не должно. Ответ верный. |
| Ответ в задаче 70. У меня не получается, что я не вижу? Ответ 36 получается. k=0 for i1 in 'ae': for i2 in 'ae': for i3 in 'dcb': for i4 in 'dcb': s=i1+i2+i3+i4 k+=1 print(k)
|
|
|
|
Отправлено: 08.01.22 18:15. Заголовок: Ygrek пишет: У меня..
Ygrek пишет: цитата: | У меня не получается, что я не вижу? |
| Вы не учитываете, что могут быть строки только из гласных или только из согласных букв. У Вас, почему-то, две первые гласные, две последние согласные.
|
|
|
|
Отправлено: 08.01.22 18:22. Заголовок: Винникова пишет: Вы..
Винникова пишет: цитата: | Вы не учитываете, что могут быть строки только из гласных или только из согласных букв. |
| Из гласных только 16 Из согласных только 81 16+81=97 И ещё комментарий смущает - Может, но не должно.
|
|
|
|
Отправлено: 08.01.22 18:55. Заголовок: Ygrek пишет: И ещё ..
Ygrek пишет: цитата: | И ещё комментарий смущает - Может, но не должно. |
| Лучше так сказать: может, но не обязательно. Может состоять из одних гласных или одних согласных, а может содержать и те и другие.
|
|
|
|
Отправлено: 08.01.22 18:51. Заголовок: Ygrek Вообще, если ..
Ygrek Вообще, если заметить одну особенность для отсортированных по разным правилам последовательностей, то задача решается просто (подобно задаче 198 из файла 8).
|
|
|
|
Отправлено: 08.01.22 19:31. Заголовок: Винникова пишет: Во..
Винникова пишет: цитата: | Вообще, если заметить одну особенность для отсортированных по разным правилам последовательностей |
| Благодарю понял. k=0 for i1 in 'aedcb': for i2 in 'aedcb': for i3 in 'aedcb': for i4 in 'aedcb': s=i1+i2+i3+i4 if s.count('ea')==0 and s.count('de')==0 and s.count('cd')==0 and s.count('bc')==0 and s.count('da')==0 and s.count('bd')==0 and s.count('ce')==0 and s.count('ca')==0 and s.count('be')==0 and s.count('ba')==0: k+=1 print(k)
|
|
|
|
Отправлено: 08.01.22 21:20. Заголовок: Ygrek Вы молодец)) ..
Ygrek Вы молодец)) Теперь могу предложить свое решение: from itertools import product a = list(product('ABCDE', repeat=4)) n = 0 for el in a: ell = list(el) if ell == sorted(ell): print(el) n += 1 print(n) А работает он как раз из-за подмеченной особенности отсортированных последовательностей. Если посмотрите на промежуточные результаты, то поймете.
|
|
|
|
| Администратор
|
Сообщение: 3163
|
|
Отправлено: 09.01.22 11:57. Заголовок: Винникова пишет: Теп..
Винникова пишет: цитата: | Теперь могу предложить свое решение: |
|
Очень остроумно, спасибо. Не нужно строить отдельно часть гласных и часть согласных.
|
|
|
|
Отправлено: 09.01.22 14:05. Заголовок: Поляков пишет: Очен..
Поляков пишет: цитата: | Очень остроумно, спасибо. |
| Спасибо за оценку, Константин Юрьевич)) Поляков пишет: цитата: | Не нужно строить отдельно часть гласных и часть согласных. |
| А еще порядок сортировки (в подсчете количества) не важен.
|
|
|
|
Отправлено: 09.01.22 18:38. Заголовок: Еще один вариант реш..
Еще один вариант решения: from itertools import combinations_with_replacement a = list(combinations_with_replacement('ABCDE', 4)) print(len(a))
|
|
|
|
|
Отправлено: 19.03.23 15:16. Заголовок: Что не так в решении автора?
В решении from itertools import product words = set(("".join(sorted(w)) for w in product('ABCDE', repeat=4))) print(words) Выводятся слова, которые явно не удовлетворяют условию задачи: {' ACDD', 'AADD', ' BCCD', 'DEEE', 'DDDE', 'AAAA', 'CCCC', ' BCCE', 'BBBB', 'CEEE', 'DDEE', 'BBBD' ... Что за интересная особенность сортировки позволяет считать это решение верным?
|
|
|
|