Статья Автор: Деникина Н.В., Деникин А.В.

Приём «хотя бы»

Когда в условии слышится «хотя бы»

«Хотя бы одна буква А» — значит одна, или две, или три, или все сразу. Считать эти случаи по отдельности долго, и на каком-нибудь обязательно собьёшься.

Есть приём, который убирает разбор случаев целиком: посчитать всё и вычесть то, где буквы А нет вообще. Что останется — там А точно есть.


Приём вычитания

Слова длины 4 из букв А, Б, В, Г. Сколько среди них содержат хотя бы одну А?

«Хотя бы одна А» = все слова − слова без А4⁴ = 256всего слов3⁴ = 81ни одной А−256 − 81 = 175

Слов всего 4⁴. Слова без А считаются так, будто буква А из алфавита вычеркнута — остаётся три буквы, значит 3⁴. Разница и есть ответ.


Три формулировки, которые путают

Звучат почти одинаково, а числа получаются разные. Читай условие медленно:

хотя бы одна А → все − (без А) = 256 − 81 = 175
ровно одна А → (сколько мест) × (остальные без А) = 4 × 3³ = 108
ни одной А → просто (алфавит−1) в степени длины = 3⁴ = 81

«Ровно одна» вычитанием не берётся. Там другая логика: выбираем клетку под букву А (клеток 4), а на все остальные ставим что угодно, кроме А.


Программное решение

Чтобы не запутаться в формулировках можно написать программу для расчёта: для каждого слова w.count("А") возвращает, сколько в нём букв А. Дальше три счётчика с разными условиями:

  • k >= 1 — хотя бы одна,
  • k == 1 — ровно одна,
  • k == 0 — ни одной. 

 

Почему это выгоднее формул: перебор идёт по словам один раз, а условий на него можно навесить сколько угодно. Формулу под каждую новую фразу приходится выводить заново, а строчку if — просто дописать. 



Проверь себя


Посчитайте: сколько слов длины 5 из букв слова ГРОМ содержат хотя бы одну букву Г? Введите число.


Сколько слов длины 5 из букв слова МОСТ, в которых буква М встречается ровно один раз?


Посчитайте: сколько слов длины 4 из букв слова ПАРУС, в которых нет ни одной буквы П? Введите число.

Печать