%I #61 Mar 16 2022 16:39:23
%S 19,28,37,46,55,64,73,82,91,109,118,127,136,145,154,163,172,181,190,
%T 208,217,226,235,244,253,262,271,280,307,316,325,334,343,352,361,370,
%U 406,415,424,433,442,451,460,505,514,523,532,541,550,604,613,622,631,640
%N Numbers whose sum of digits is 10.
%C Proper subsequence of A017173. - _Rick L. Shepherd_, Jan 12 2009
%C Subsequence of A227793. - _Michel Marcus_, Sep 23 2013
%C A007953(a(n)) = 10; number of repdigits = #{55,22222,1^10} = A242627(10) = 3. - _Reinhard Zumkeller_, Jul 17 2014
%C a(n) = A094677(n) for n = 1..28. - _Reinhard Zumkeller_, Nov 08 2015
%C The number of terms having <= m digits is the coefficient of x^10 in sum(i=0,9,x^i)^m = ((1-x^10)/(1-x))^m. - _David A. Corneth_, Jun 04 2016
%C In general, the set of numbers with sum of base-b digits equal to b is a subset of { (b-1)*k + 1; k = 2, 3, 4, ... }. - _M. F. Hasler_, Dec 23 2016
%H Rémy Sigrist, <a href="/A052224/b052224.txt">Table of n, a(n) for n = 1..10000</a> (first 3921 terms from T. D. Noe)
%F a(n+1) = A228915(a(n)) for any n > 0. - _Rémy Sigrist_, Jul 10 2018
%p sd := proc (n) options operator, arrow: add(convert(n, base, 10)[j], j = 1 .. nops(convert(n, base, 10))) end proc: a := proc (n) if sd(n) = 10 then n else end if end proc: seq(a(n), n = 1 .. 800); # _Emeric Deutsch_, Jan 16 2009
%t Union[Flatten[Table[FromDigits /@ Permutations[PadRight[s, 7]], {s, Rest[IntegerPartitions[10]]}]]] (* _T. D. Noe_, Mar 08 2013 *)
%t Select[Range[1000], Total[IntegerDigits[#]] == 10 &] (* _Vincenzo Librandi_, Mar 10 2013 *)
%o (Magma) [n: n in [1..1000] | &+Intseq(n) eq 10 ]; // _Vincenzo Librandi_, Mar 10 2013
%o (Haskell)
%o a052224 n = a052224_list !! (n-1)
%o a052224_list = filter ((== 10) . a007953) [0..]
%o -- _Reinhard Zumkeller_, Jul 17 2014
%o (PARI) isok(n) = sumdigits(n) == 10; \\ _Michel Marcus_, Dec 28 2015
%o (PARI) \\ This algorithm needs a modified binomial.
%o C(n, k)=if(n>=k, binomial(n, k), 0)
%o \\ ways to roll s-q with q dice having sides 0 through n - 1.
%o 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)
%o \\ main algorithm; this program applies to all sequences of the form "Numbers whose sum of digits is m."
%o a(n,{m=10}) = {my(q); q = 2; while(b(m, q, 10) < n, q++); q--; s = m; os = m; r=0; while(q, if(b(s, q, 10) < n, n-=b(s, q, 10); s--, r+=(os-s)*10^(q); os = s; q--)); r+= s; r}
%o \\ _David A. Corneth_, Jun 05 2016
%o (Python)
%o from sympy.utilities.iterables import multiset_permutations
%o def auptodigs(maxdigits, b=10, sod=10): # works for any base, sum-of-digits
%o alst = [sod] if 0 <= sod < b else []
%o nzdigs = [i for i in range(1, b) if i <= sod]
%o nzmultiset = []
%o for d in range(1, b):
%o nzmultiset += [d]*(sod//d)
%o for d in range(2, maxdigits + 1):
%o fullmultiset = [0]*(d-1-(sod-1)//(b-1)) + nzmultiset
%o for firstdig in nzdigs:
%o target_sum, restmultiset = sod - int(firstdig), fullmultiset[:]
%o restmultiset.remove(firstdig)
%o for p in multiset_permutations(restmultiset, d-1):
%o if sum(p) == target_sum:
%o alst.append(int("".join(map(str, [firstdig]+p)), b))
%o if p[0] == target_sum:
%o break
%o return alst
%o print(auptodigs(4)) # _Michael S. Branicky_, Sep 14 2021
%o (Python)
%o def A052224(N = 19):
%o """Return a generator of the sequence of all integers >= N with the same
%o digit sum as N."""
%o while True:
%o yield N
%o N = A228915(N) # skip to next larger integer with the same digit sum
%o a = A052224(); [next(a) for _ in range(50)] # _M. F. Hasler_, Mar 16 2022
%Y Cf. A007953, A017173, A228915, A254524.
%Y Cf. A011557 (1), A052216 (2), A052217 (3), A052218 (4), A052219 (5), A052220 (6), A052221 (7), A052222 (8), A052223 (9), A166311 (11), A235151 (12), A143164 (13), A235225 (14), A235226 (15), A235227 (16), A166370 (17), A235228 (18), A166459 (19), A235229 (20).
%Y Cf. A242614, A242627.
%Y Cf. A094677.
%Y Cf. A018900, A187813.
%Y Sum of base-b digits equal b: A226636 (b = 3), A226969 (b = 4), A227062 (b = 5), A227080 (b = 6), A227092 (b = 7), A227095 (b = 8), A227238 (b = 9).
%K nonn,base,easy
%O 1,1
%A _Henry Bottomley_, Feb 01 2000
%E Incorrect formula deleted by _N. J. A. Sloane_, Jan 15 2009
%E Extended by _Emeric Deutsch_, Jan 16 2009
%E Offset changed by _Bruno Berselli_, Mar 07 2013