Нужно найти количество чисел заданного порядка, модуль разницы соседних цифр которых не больше 1
То есть:
Для чисел порядка 1(все однозначные числа) = 9 (нет соседних цифр)
Для чисел порядка 2(двухзначные) = 26(10, 11, 20, 21, 22, 23... )
Реализация простого перебора не интересует.
Интересует есть ли формула по которой можно найти это количество.
Ответ:
goo.gl/nC0XIYa(n) = Sum_{r=0..9} u(n,r) where u(n,r) = 0 if r<0 or r>9, u(1,0) = 0, u(1,r) = 1 for 1<=r<=9, and otherwise u(n,r) = u(n-1,r-1) + u(n-1,r) + u(n-1,r+1).
G.f.: -x*(3*x^4-18*x^3-9*x^2+28*x-9)/(x^5-6*x^4-x^3+10*x^2-6*x+1).
Спасибо