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

Задача 8.5710

ivackov.sergey: {(№ 5710) (Д. Статный) Алексей составляет пятибуквенные слова из букв латинского алфавита. Его интересуют слова, в которых только одна гласная. Сколько таких слов может составить Алексей?} [pre2] //Решение Ипатов Ю.А. ## uses school; function f(x:string):boolean; begin var c:=0; var s:='AEIOUY'; foreach var i in x do if i in s then c+=1; if c = 1 then result:=true; end; var s2:=''; for var i:='A' to 'Z' do s2:=s2+i; s2.Permutations(5).Where(x->f(x)).Count.Print; [/pre2] Получается ответ: 3488400, что не совпадает с ответом на сайте: 8681376?

Ответов - 5

Поляков: Простите, это я неверно скорректировал. Должно быть "не менее одной гласной".

ivackov.sergey: С такой формулировкой будет ответ 6033120 ?

Поляков: ivackov.sergey пишет:С такой формулировкой будет ответ 6033120 Не уверен. [pre2] from itertools import product from string import ascii_uppercase count=0 for x in product(ascii_uppercase, repeat=5): k = sum( 1 for c in x if c in 'AEOIUY' ) if k > 0: count += 1 print(count) [/pre2]


catrh: Добрый день! В условии этой задачи очень НЕ хватает комментария о том, какие буквы считаются гласными. Буква Y в английском языке может отвечать как за гласный, так и за согласный звуки. Все зависит от того, в каком месте слова она находится.

ivackov.sergey: Да, понял. Здесь размещения с повторением. Спасибо!



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