|
|
A034968
|
|
Minimal number of factorials that add to n.
|
|
71
|
|
|
0, 1, 1, 2, 2, 3, 1, 2, 2, 3, 3, 4, 2, 3, 3, 4, 4, 5, 3, 4, 4, 5, 5, 6, 1, 2, 2, 3, 3, 4, 2, 3, 3, 4, 4, 5, 3, 4, 4, 5, 5, 6, 4, 5, 5, 6, 6, 7, 2, 3, 3, 4, 4, 5, 3, 4, 4, 5, 5, 6, 4, 5, 5, 6, 6, 7, 5, 6, 6, 7, 7, 8, 3, 4, 4, 5, 5, 6, 4, 5, 5, 6, 6, 7, 5, 6, 6, 7, 7, 8, 6, 7, 7, 8, 8, 9, 4, 5, 5, 6, 6, 7, 5, 6, 6, 7
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,4
|
|
COMMENTS
|
Equivalently, sum of digits when n is written in factorial base (A007623).
Equivalently, a(0)...a(n!-1) give the total number of inversions of the permutations of n elements in lexicographic order (the factorial numbers in rising base are the inversion tables of the permutations and their sum of digits give the total number of inversions, see example and the Fxtbook link). - Joerg Arndt, Jun 17 2011
Also minimum number of adjacent transpositions needed to produce each permutation in the list A055089 (or number of swappings needed to bubble sort each such permutation).
|
|
LINKS
|
|
|
FORMULA
|
a(n) = n - Sum_{i>=2} (i-1)*floor(n/i!). - Benoit Cloitre, Aug 26 2003
Other identities. For all n >= 0:
(End)
|
|
EXAMPLE
|
a(205) = a(1!*1 + 3!*2 + 4!*3 + 5!*1) = 1+2+3+1 = 7. [corrected by Shin-Fu Tsai, Mar 23 2021]
n: permutation inv. table a(n) cycles
0: [ 0 1 2 3 ] [ 0 0 0 ] 0 (0) (1) (2) (3)
1: [ 0 1 3 2 ] [ 0 0 1 ] 1 (0) (1) (2, 3)
2: [ 0 2 1 3 ] [ 0 1 0 ] 1 (0) (1, 2) (3)
3: [ 0 2 3 1 ] [ 0 1 1 ] 2 (0) (1, 2, 3)
4: [ 0 3 1 2 ] [ 0 2 0 ] 2 (0) (1, 3, 2)
5: [ 0 3 2 1 ] [ 0 2 1 ] 3 (0) (1, 3) (2)
6: [ 1 0 2 3 ] [ 1 0 0 ] 1 (0, 1) (2) (3)
7: [ 1 0 3 2 ] [ 1 0 1 ] 2 (0, 1) (2, 3)
8: [ 1 2 0 3 ] [ 1 1 0 ] 2 (0, 1, 2) (3)
9: [ 1 2 3 0 ] [ 1 1 1 ] 3 (0, 1, 2, 3)
10: [ 1 3 0 2 ] [ 1 2 0 ] 3 (0, 1, 3, 2)
11: [ 1 3 2 0 ] [ 1 2 1 ] 4 (0, 1, 3) (2)
12: [ 2 0 1 3 ] [ 2 0 0 ] 2 (0, 2, 1) (3)
13: [ 2 0 3 1 ] [ 2 0 1 ] 3 (0, 2, 3, 1)
14: [ 2 1 0 3 ] [ 2 1 0 ] 3 (0, 2) (1) (3)
15: [ 2 1 3 0 ] [ 2 1 1 ] 4 (0, 2, 3) (1)
16: [ 2 3 0 1 ] [ 2 2 0 ] 4 (0, 2) (1, 3)
17: [ 2 3 1 0 ] [ 2 2 1 ] 5 (0, 2, 1, 3)
18: [ 3 0 1 2 ] [ 3 0 0 ] 3 (0, 3, 2, 1)
19: [ 3 0 2 1 ] [ 3 0 1 ] 4 (0, 3, 1) (2)
20: [ 3 1 0 2 ] [ 3 1 0 ] 4 (0, 3, 2) (1)
21: [ 3 1 2 0 ] [ 3 1 1 ] 5 (0, 3) (1) (2)
22: [ 3 2 0 1 ] [ 3 2 0 ] 5 (0, 3, 1, 2)
23: [ 3 2 1 0 ] [ 3 2 1 ] 6 (0, 3) (1, 2)
(End)
|
|
MAPLE
|
[seq(convert(fac_base(j), `+`), j=0..119)]; # fac_base and PermRevLexUnrank given in A055089. Perm2InversionVector in A064039
Or alternatively: [seq(convert(Perm2InversionVector(PermRevLexUnrank(j)), `+`), j=0..119)];
# third Maple program:
b:= proc(n, i) local q;
`if`(n=0, 0, b(irem(n, i!, 'q'), i-1)+q)
end:
a:= proc(n) local k;
for k while k!<n do od; b(n, k)
end:
|
|
MATHEMATICA
|
a[n_] := Module[{s=0, i=2, k=n}, While[k > 0, k = Floor[n/i!]; s = s + (i-1)*k; i++]; n-s]; Table[a[n], {n, 0, 105}] (* Jean-François Alcover, Nov 06 2013, after Benoit Cloitre *)
|
|
PROG
|
(Scheme)
(define (A034968 n) (let loop ((n n) (i 2) (s 0)) (cond ((zero? n) s) (else (loop (quotient n i) (+ 1 i) (+ s (remainder n i)))))))
(Python)
def a(n):
k=2
r=0
while n>0:
r+=n%k
n=n//k
k+=1
return r
print([a(n) for n in range(201)]) # Indranil Ghosh, Jun 19 2017, after PARI program
|
|
CROSSREFS
|
Partial sums of first n! terms: A001809. See A055091 for the minimum number of any transpositions.
Cf. A000217, A001222, A056019, A060130, A099563, A225901, A257684, A257687, A257694, A276076, A276146.
Differs from analogous A276150 for the first time at n=24.
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|