Сколько существует натуральных чисел, запись которых в системе счисления с основанием 13 содержит не менее двух цифр, и при чтении числа слева направо каждая следующая цифра оказывается строго больше предыдущей?
Приведём решение на языке Python.
import itertools
otv = []
for i in range(2,14):
combs = [''.join(pair) for pair in itertools.combinations('123456789ABC', i)]
otv.append(len(combs))
print(sum(otv))
Ответ: 4083.
Приведём решение Юрия Красильникова на языке Python.
def quantity(previous, length):
return 12-previous if length==1 else sum(quantity(i,length-1) for i in range(previous+1,13))
print(sum(quantity(0,length) for length in range(2,13)))
Приведём решение Сергея Донец на языке PascalABC.NET.
begin
var total := 0;
for var i := 2 to 12 do
total += '123456789ABC'.combinations(i).Count;
Write(total);
end.

