Сколько существует шестнадцатеричных четырёхзначных чисел, содержащих в своей записи ровно одну цифру 3, в которых никакие две одинаковые цифры не стоят рядом?
Приведём решение на языке Python.
from itertools import product
count = 0
for i in product('0123456789abcdef', repeat=4):
if i[0] != '0':
if i[0] != i[1] and i[1] != i[2] and i[2] != i[3]:
if i.count('3') == 1:
count += 1
print(count)
Ответ: 11 564.
Приведём решение Сергея Донец на языке PascalABC.NET.
begin
'0123456789abcdef'.Cartesian(4) // 16-ричная 4-значных
.Where(s->s[1] <> '0') // Первой цифрой не может быть 0
.Where(s->s.CountOf('3')=1) // только одна цифра 3
.Where(s->(s[1]<>s[2])and(s[2]<>s[3])and(s[3]<>s[4])) // никакие две одинаковые цифры не стоят рядом
.Count.Print;
end.

