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.

A228311 Numbers k such that the sum of digits of k! is itself a factorial.

Original entry on oeis.org

0, 1, 2, 3, 4, 21966, 176755, 182624820
Offset: 1

Views

Author

Keywords

Comments

The sum of digits of k! is approximately (9/2)*(d-z), where d=A034886(k) is the number of digits of k!, which is about (log(k/E)*k + log(2*k*Pi)/2)/log(10), and z=A027868(k) is the number of trailing zeros of k!, which is Sum_{j>=1} floor(k/5^j). - Giovanni Resta, Aug 28 2013
a(9) > 2.235*10^9. - Hans Havermann, May 16 2014
k! has ~ k log_10(k) digits, so its digit sum is typically close to C*k*log_10(k) for some constant C. A random number around j has probability something like log(j)/(j log log(j)) of being a factorial, so the probability that the digit sum of k! is a factorial should be something like const/(k log log k). The sum of this diverges, so we should expect infinitely many terms in the sequence. - Robert Israel, Aug 08 2014

Examples

			The sum of the digits of 21966! is 362880 = 9!.
The sum of the digits of 176755! is 3628800 = 10!.
The sum of the digits of 182624820! is 6227020800 = 13!.
		

Crossrefs

Programs

  • Mathematica
    lst = {0}; k = p = 1; fctl = Range@ 15!; While[k < 180000, p = p*k; While[ Mod[p, 10] == 0, p /= 10]; If[ MemberQ[ fctl, Plus @@ IntegerDigits@ p], Print[k]; AppendTo[lst, k]]; k++]; lst (* Robert G. Wilson v, Feb 18 2014 *)
    With[{fcts=Range[20]!},Select[Range[0,22000],MemberQ[fcts,Total[IntegerDigits[#!]]]&]] (* Harvey P. Dale, Jan 06 2024 *)
  • PARI
    lpf(n)=my(f=factor(n)[,1]); f[1]
    factorial_lval(n, p)={
        my(s);
        while(n\=p, s+=n);
        s
    };
    isfactorial(n)={
        if(n<3, return(n>0));
        my(v2=valuation(n,2),mn=v2+1,mx=mn+log(v2+1.5)\log(2),t,c);
        while (mx - mn > 1,
            t = mn + (mx - mn)\2;
            c = factorial_lval(t, 2);
            if (c < v2,
                mn = t+1
            ,
                if (c > v2,
                    mx = t-1
                ,
                    mx = bitor(t,1);
                    mn = max(mn, mx-1)
                )
            )
        );
        if (mn < mx,
            my(p=lpf(mx));
            t = valuation(n, p);
            c = factorial_lval(mx, p);
            if (t > c,return(0));
            if (t == c,
                mn = mx
            )
        );
        n==mn!
    };
    is(n)=isfactorial(sumdigits(n!))

Extensions

a(8) from Hans Havermann, Mar 24 2014