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

