0, 1, 1, 2, 1, 1, 1, 2, 2, 3, 2, 2, 1, 2, 1, 2, 2, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 3, 2, 2, 2, 3, 3, 4, 3, 3, 2, 3, 2, 3, 3, 3, 2, 2, 3, 3, 2, 2, 1, 2, 2, 3, 2, 2, 1, 2, 2, 3, 2, 2, 2, 3, 2, 3, 3, 3, 2, 2, 3, 3, 2, 2, 1, 2, 1, 2, 2, 2, 2, 3, 2, 3, 3, 3, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1, 1
Offset: 0
For n=23 ("321" in factorial base representation, A007623), all the digits are maximal for their positions (they occur on the "maximal slope"), thus there is only one distinct digit slope present and a(23)=1. Also, for the 23rd permutation in the ordering A060117, [2341], there is just one drop, as p[4] = 1 < 4.
For n=29 ("1021"), there are three nonzero digits, where both 2 and the rightmost 1 are on the maximal slope, while the most significant 1 is on the "sub-sub-sub-maximal", thus there are two occupied slopes in total, and a(29) = 2. In the 29th permutation of A060117, [23154], there are two drops as p[3] = 1 < 3 and p[5] = 4 < 5.
For n=37 ("1201"), there are three nonzero digits, where the rightmost 1 is on the maximal slope, 2 is on the submaximal, and the most significant 1 is on the "sub-sub-sub-maximal", thus there are three occupied slopes in total, and a(37) = 3. In the 37th permutation of A060117, [51324], there are three drops at indices 2, 4 and 5.
Original entry on oeis.org
0, 1, 12, 13, 360, 361, 372, 373, 20160, 20161, 20172, 20173, 20520, 20521, 20532, 20533, 1814400, 1814401, 1814412, 1814413, 1814760, 1814761, 1814772, 1814773, 1834560, 1834561, 1834572, 1834573, 1834920, 1834921, 1834932, 1834933, 239500800, 239500801, 239500812, 239500813, 239501160, 239501161, 239501172, 239501173, 239520960, 239520961
Offset: 0
-
from sympy import factorial as f
def a007623(n, p=2): return n if n0 else '0' for i in x)[::-1]
return 0 if n==0 else sum([int(y[i])*f(i + 1) for i in range(len(y))])
def a153880(n):
x=(str(a007623(n)) + '0')[::-1]
return 0 if n==0 else sum([int(x[i])*f(i + 1) for i in range(len(x))])
def a(n): return 0 if n==0 else a255411(a153880(a(n//2))) if n%2==0 else 1 + a255411(a153880(a((n - 1)//2)))
print([a(n) for n in range(101)]) # Indranil Ghosh, Jun 20 2017
Comments