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

%I #88 Jan 06 2024 18:22:25

%S 0,1,2,3,4,21966,176755,182624820

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

%C 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, 2, ...) floor(k/5^j). - _Giovanni Resta_, Aug 28 2013

%C a(9) > 2.235*10^9 - _Hans Havermann_, May 16 2014

%C 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

%H "Mouhaha" <a href="http://www.mymathforum.com/viewtopic.php?p=164005#p164005">Digit sums and factorials</a>

%e The sum of the digits of 21966! is 362880 = 9!.

%e The sum of the digits of 176755! is 3628800 = 10!.

%e The sum of the digits of 182624820! is 6227020800 = 13!.

%t 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 *)

%t With[{fcts=Range[20]!},Select[Range[0,22000],MemberQ[fcts,Total[IntegerDigits[#!]]]&]] (* _Harvey P. Dale_, Jan 06 2024 *)

%o (PARI) lpf(n)=my(f=factor(n)[,1]); f[1]

%o factorial_lval(n, p)={

%o my(s);

%o while(n\=p, s+=n);

%o s

%o };

%o isfactorial(n)={

%o if(n<3, return(n>0));

%o my(v2=valuation(n,2),mn=v2+1,mx=mn+log(v2+1.5)\log(2),t,c);

%o while (mx - mn > 1,

%o t = mn + (mx - mn)\2;

%o c = factorial_lval(t, 2);

%o if (c < v2,

%o mn = t+1

%o ,

%o if (c > v2,

%o mx = t-1

%o ,

%o mx = bitor(t,1);

%o mn = max(mn, mx-1)

%o )

%o )

%o );

%o if (mn < mx,

%o my(p=lpf(mx));

%o t = valuation(n, p);

%o c = factorial_lval(mx, p);

%o if (t > c,return(0));

%o if (t == c,

%o mn = mx

%o )

%o );

%o n==mn!

%o };

%o is(n)=isfactorial(sumdigits(n!))

%Y Cf. A229024, A004152.

%K nonn,base,hard,nice,more

%O 1,3

%A _Charles R Greathouse IV_, Aug 27 2013

%E a(8) from _Hans Havermann_, Mar 24 2014