cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A061384 Numbers n such that sum of digits = number of digits.

Original entry on oeis.org

1, 11, 20, 102, 111, 120, 201, 210, 300, 1003, 1012, 1021, 1030, 1102, 1111, 1120, 1201, 1210, 1300, 2002, 2011, 2020, 2101, 2110, 2200, 3001, 3010, 3100, 4000, 10004, 10013, 10022, 10031, 10040, 10103, 10112, 10121, 10130, 10202, 10211
Offset: 1

Views

Author

Amarnath Murthy, May 03 2001

Keywords

Comments

Number of d-digit entries is A071976(d). - Robert Israel, Apr 06 2016
Equivalently, numbers n > 0 for which the arithmetic mean of the digits equals 1. - M. F. Hasler, Dec 07 2018

Examples

			120 is a term as the arithmetic mean of the digits is (1+2+0)/3 = 1.
		

Crossrefs

Totally balanced subset: A071154. Cf. also A061383-A061388, A061423-A061425.
Cf. A071976.
Cf. A007953 (sum of digits), A055642 (number of digits).

Programs

  • Magma
    [ n: n in [1..10215] | &+Intseq(n) eq #Intseq(n) ]; // Bruno Berselli, Jun 30 2011
    
  • Maple
    Q:= proc(n,s) option remember;
    # n-digit integers with digit sum s
    if s = 0 then []
    elif s = 1 then [10^(n-1)]
    elif n = 1 then
       if s <= 9 then [s]
       else []
       fi
    else
      map(op,[seq(map(t -> 10*t+i, procname(n-1,s-i)), i=0..min(9,s-1))])
    fi
    end proc:
    map(op, [seq(sort(Q(n,n)),n=1..5)]); # Robert Israel, Apr 06 2016
  • Mathematica
    Select[Range[15000], Total[IntegerDigits[#]] == IntegerLength[#]&] (* Harvey P. Dale, Jan 08 2011 *)
  • PARI
    isok(n) = (sumdigits(n)/#Str(n) == 1); \\ Michel Marcus, Mar 28 2016
    
  • PARI
    is_A061384(n)={sumdigits(n)==logint(n+!n,10)+1} \\ M. F. Hasler, Dec 07 2018
    
  • PARI
    A061384_row(n)={my(L=List(), u=vector(n, i, i==1), d); forvec(v=vector(n+1, i, [if(i>n,n, 1), if(i>1, n, 1)]), vecmax(d=v[^1]-v[^-1]+u)<10 && listput(L,fromdigits(d)),1);Vec(L)} \\ Return the list of all n-digit terms. - M. F. Hasler, Dec 07 2018
    
  • Python
    from itertools import count, islice
    def Q(n, s): # length-n strings of 0..9 with sum s, after Robert Israel
        if s == 0: yield "0"*n
        elif n == 1: yield (str(s) if s <= 9 else "")
        else:
            m = min(9, s) + 1
            yield from (str(i)+t for i in range(m) for t in Q(n-1, s-i))
    def agen():
        yield from (int(t) for n in count(1) for t in Q(n, n) if t[0] != "0")
    print(list(islice(agen(), 43))) # Michael S. Branicky, May 26 2022
    
  • Python
    from itertools import count, islice
    from collections import Counter
    from sympy.utilities.iterables import partitions, multiset_permutations
    def A061384_gen(): # generator of terms
        for l in count(1):
            for i in range(1,min(l,9)+1):
                yield from sorted(int(str(i)+''.join(map(str,j))) for s,p in partitions(l-i,k=9,size=True) for j in multiset_permutations([0]*(l-1-s)+list(Counter(p).elements())))
    A061384_list = list(islice(A061384_gen(),30)) # Chai Wah Wu, Nov 28 2023

Formula

{n > 0 | A007953(n) = A055642(n)}. - M. F. Hasler, Dec 07 2018

Extensions

More terms from Erich Friedman, May 08 2001