OFFSET
1,1
COMMENTS
Proper subsequence of A017173. - Rick L. Shepherd, Jan 12 2009
Subsequence of A227793. - Michel Marcus, Sep 23 2013
A007953(a(n)) = 10; number of repdigits = #{55,22222,1^10} = A242627(10) = 3. - Reinhard Zumkeller, Jul 17 2014
a(n) = A094677(n) for n = 1..28. - Reinhard Zumkeller, Nov 08 2015
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
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
LINKS
Rémy Sigrist, Table of n, a(n) for n = 1..10000 (first 3921 terms from T. D. Noe)
FORMULA
a(n+1) = A228915(a(n)) for any n > 0. - Rémy Sigrist, Jul 10 2018
MAPLE
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
MATHEMATICA
Union[Flatten[Table[FromDigits /@ Permutations[PadRight[s, 7]], {s, Rest[IntegerPartitions[10]]}]]] (* T. D. Noe, Mar 08 2013 *)
Select[Range[1000], Total[IntegerDigits[#]] == 10 &] (* Vincenzo Librandi, Mar 10 2013 *)
PROG
(Magma) [n: n in [1..1000] | &+Intseq(n) eq 10 ]; // Vincenzo Librandi, Mar 10 2013
(Haskell)
a052224 n = a052224_list !! (n-1)
a052224_list = filter ((== 10) . a007953) [0..]
-- Reinhard Zumkeller, Jul 17 2014
(PARI) isok(n) = sumdigits(n) == 10; \\ Michel Marcus, Dec 28 2015
(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; this program applies to all sequences of the form "Numbers whose sum of digits is m."
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}
\\ David A. Corneth, Jun 05 2016
(Python)
from sympy.utilities.iterables import multiset_permutations
def auptodigs(maxdigits, b=10, sod=10): # works for any base, sum-of-digits
alst = [sod] if 0 <= sod < b else []
nzdigs = [i for i in range(1, b) if i <= sod]
nzmultiset = []
for d in range(1, b):
nzmultiset += [d]*(sod//d)
for d in range(2, maxdigits + 1):
fullmultiset = [0]*(d-1-(sod-1)//(b-1)) + nzmultiset
for firstdig in nzdigs:
target_sum, restmultiset = sod - int(firstdig), fullmultiset[:]
restmultiset.remove(firstdig)
for p in multiset_permutations(restmultiset, d-1):
if sum(p) == target_sum:
alst.append(int("".join(map(str, [firstdig]+p)), b))
if p[0] == target_sum:
break
return alst
print(auptodigs(4)) # Michael S. Branicky, Sep 14 2021
(Python)
def A052224(N = 19):
"""Return a generator of the sequence of all integers >= N with the same
digit sum as N."""
while True:
yield N
N = A228915(N) # skip to next larger integer with the same digit sum
a = A052224(); [next(a) for _ in range(50)] # M. F. Hasler, Mar 16 2022
CROSSREFS
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).
Cf. A094677.
KEYWORD
nonn,base,easy
AUTHOR
Henry Bottomley, Feb 01 2000
EXTENSIONS
Incorrect formula deleted by N. J. A. Sloane, Jan 15 2009
Extended by Emeric Deutsch, Jan 16 2009
Offset changed by Bruno Berselli, Mar 07 2013
STATUS
approved