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.

A054899 a(n) = Sum_{k>0} floor(n/10^k).

Original entry on oeis.org

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 11, 11, 11
Offset: 0

Views

Author

Henry Bottomley, May 23 2000

Keywords

Comments

The old definition of this sequence was "Highest power of 10 dividing n!", but that is wrong (see A027868). For example, the highest power of 10 dividing 5!=120 is 1; however, a(5)=0. - Hieronymus Fischer, Jun 18 2007
Highest power of 10 dividing the quotient of multifactorials Product_{k>=1} M(10^k, 10^k*floor(n/10^k)) /( Product_{k>=1} M(10^(k-1), 10^(k-1) * floor(n/10^k)) ) where M(r,s) is the r-multifactorial (r>=1) of s which is defined by M(r,s) = s*M(r,s-r) for s > 0, M(r,s) = 1 for s <= 0. This is because that quotient of multifactorials evaluates to the product 10^floor(n/10)*10^floor(n/100)*... - Hieronymus Fischer, Jun 14 2007
Partial sums of A122840. - Hieronymus Fischer, Jun 06 2012
Called the "terminating nines function" by Kennedy et al. (1989). a(n) is the number of terminating nines which occur up to n but not including n. - Amiram Eldar, Sep 06 2024

Examples

			          a(11) = 1
         a(111) = 12.
        a(1111) = 123.
       a(11111) = 1234.
      a(111111) = 12345.
     a(1111111) = 123456.
    a(11111111) = 1234567.
   a(111111111) = 12345678.
  a(1111111111) = 123456789.
		

Crossrefs

Cf. A011371 and A054861 for analogs involving powers of 2 and 3.
Different from the highest power of 10 dividing n! (see A027868 for reference).

Programs

  • Magma
    m:=10;
    function a(n) // a = A054899, m = 10
      if n eq 0 then return 0;
      else return a(Floor(n/m)) + Floor(n/m);
      end if; end function;
    [a(n): n in [0..103]]; // G. C. Greubel, Apr 28 2023
    
  • Mathematica
    Table[t=0; p=10; While[s=Floor[n/p]; t=t+s; s>0, p*=10]; t, {n,0,100}]
  • PARI
    a(n)=my(s);while(n\=10,s+=n);s \\ Charles R Greathouse IV, Jul 19 2011
    
  • SageMath
    m=10 # a = A054899
    def a(n): return 0 if (n==0) else a(n//m) + (n//m)
    [a(n) for n in range(104)] # G. C. Greubel, Apr 28 2023

Formula

a(n) = floor(n/10) + floor(n/100) + floor(n/1000) + ...
a(n) = (n - A007953(n))/9.
From Hieronymus Fischer, Jun 14 2007, Jun 25 2007, and Aug 13 2007: (Start)
a(n) = Sum_{k>0} floor(n/10^k).
a(n) = Sum_{k=10..n} Sum_{j|k, j>=10} ( floor(log_10(j)) -floor(log_10(j-1)) ).
G.f.: g(x) = ( Sum_{k>0} x^(10^k)/(1-x^(10^k)) )/(1-x).
G.f. expressed in terms of Lambert series:
g(x) = L[b(k)](x)/(1-x) where L[b(k)](x) = Sum_{k>=0} b(k)*x^k/(1-x^k) is a Lambert series with b(k)=1, if k>1 is a power of 10, else b(k)=0.
G.f.: g(x) = ( Sum_{k>0} c(k)*x^k )/(1-x), where c(k) = Sum_{j>1, j|k} (floor(log_10(j)) - floor(log_10(j-1)) ).
a(n) = Sum_{k=0..floor(log_10(n))} ds_10(floor(n/10^k))*10^k - n where ds_10(x) = digital sum of x in base 10.
a(n) = Sum_{k=0..floor(log_10(n))} A007953(floor(n/10^k))*10^k - n.
Recurrence:
a(n) = floor(n/10) + a(floor(n/10)).
a(10*n) = n + a(n).
a(n*10^m) = n*(10^m-1)/9 + a(n).
a(k*10^m) = k*(10^m-1)/9, for 0 <= k < 10, m >= 0.
Asymptotic behavior:
a(n) = n/9 + O(log(n)),
a(n+1) - a(n) = O(log(n)), which follows from the inequalities below.
a(n) <= (n - 1)/9; equality holds for powers of 10.
a(n) >= n/9 - 1 - floor(log_10(n)); equality holds for n=10^m-1, m>0.
lim inf (n/9 - a(n)) = 1/9, for n --> oo.
lim sup (n/9 - log_10(n) - a(n)) = 0, for n --> oo.
lim sup (a(n+1) - a(n) - log_10(n)) = 0, for n --> oo. (End)

Extensions

An incorrect g.f. was deleted by N. J. A. Sloane, Sep 13 2009
Examples added by Hieronymus Fischer, Jun 06 2012