A254524 n is the a(n)-th positive integer having its digitsum.
1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 4, 4, 4, 4, 4, 4, 4, 3, 2, 1, 5, 5, 5, 5, 5, 5, 4, 3, 2, 1, 6, 6, 6, 6, 6, 5, 4, 3, 2, 1, 7, 7, 7, 7, 6, 5, 4, 3, 2, 1, 8, 8, 8, 7, 6, 5, 4, 3, 2, 1, 9, 9, 8, 7, 6, 5, 4, 3, 2, 1, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 10, 5
Offset: 1
Examples
35 is the 4th positive integer having digitsum 8 (the others before are 8, 17 and 26) so a(35) = 4.
Links
- David A. Corneth, Table of n, a(n) for n = 1..10000
Crossrefs
Programs
-
Haskell
import Data.IntMap (empty, findWithDefault, insert) a254524 n = a254524_list !! (n-1) a254524_list = f 1 empty where f x m = y : f (x + 1) (insert q (y + 1) m) where y = findWithDefault 1 q m; q = a007953 x -- Reinhard Zumkeller, Oct 09 2015
-
Mathematica
c[n_, k_] := If[n >= k, Binomial[n, k], 0]; b[s_, q_, n_] := (s1 = q; If[s <= q*(n - 1), s1 = s + q; Sum[(-1)^i*c[q, i]*c[s1 - 1 - n*i, q - 1], {i, 0, q - 1}], 0]); a[n_] := (r = 1; v = IntegerDigits[n]; l = v[[-1]]; For[i = Length[v] - 1, i >= 1, i--, For[j = 1, j <= v[[i]], j++, r += b[l + j, Length[v] - i, 10]]; l += v[[i]]]; r); Table[a[n], {n, 1, 110}] (* Jean-François Alcover, Nov 14 2016, adapted from PARI *) With[{nn=400},#[[3]]&/@Sort[Flatten[Table[Flatten[#,1]&/@MapIndexed[ List,Select[ Table[{n,Total[IntegerDigits[n]]},{n,nn}],#[[2]]==k&]],{k,nn}],1]]](* Harvey P. Dale, Mar 29 2020 *)
-
PARI
\\This algorithm needs a modified binomial. C(n, k)=if(n>=k, binomial(n, k), 0) \\ways to roll s-q with q dice having sides 0 through n - 1. b(s, q, n)=if(s<=q*(n-1), s+=q; sum(i=0, q-1, (-1)^i*C(q, i)*C(s-1-n*i, q-1)), 0) \\main algorithm a(n)={r = 1; v=digits(n); l=v[#v]; forstep(i = #v-1, 1, -1, for(j=1,v[i], r+=b(l+j, #v-i,10)); l+=v[i]);r}
Comments