ID Задания: F1099F
Вася составляет 6-буквенные слова, в которых встречаются только буквы Л, М, Н, причём буква Л появляется ровно 1 раз. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Вася?
Заметим, что после дописывания остатка от деления суммы на два, сумма единиц в двоичном представлении(она же и будет общей суммой) либо останется четной, либо станет ей. Это значит, что при повторении *дописывания* допишется ‘0’
105= 110 10012
Тогда ближайшее число большее вышеуказанного, удовлетворяющее условию, будет 11010102
Пусть Л стоит на первом месте. Тогда на каждое из оставшихся 5 мест можно поставить одну из 2 букв (М или Н). То есть 1 * 2 * 2 * 2* 2 * 2 = 32 варианта. Л можно по очереди поставить на все 6 мест, в каждом случае получая 32 варианта. Итого 6 * 32 = 192.
Решение программой:
| Python | Pascal |
word = 'ЛМН' k = 0 for x1 in word: for x2 in word: for x3 in word: for x4 in word: for x5 in word: for x6 in word: s = x1 + x2 + x3+ x4+ x5 + x6 if s.count('Л') == 1: k += 1 print(k) | begin var word:= 'ЛМН'; var count:= 0; foreach var x1 in word do foreach var x2 in word do foreach var x3 in word do foreach var x4 in word do foreach var x5 in word do foreach var x6 in word do begin var s:= x1 + x2 + x3 + x4 + x5 + x6; if s.CountOf('Л') = 1 then count += 1; end; print(count); end. |