OFFSET
0,3
COMMENTS
a(n) == Sum_{k>=0} k! (mod 2^n). Since k! mod 2^n is eventually zero, a(n) is well-defined.
In general, for every prime p, the p-adic integer x = Sum_{k>=0} k! is well-defined. To find the approximation up to p^n (n > 0) for x, it is enough to add k! for 0 <= k <= m and then find the remainder of the sum modulo p^n, where m = (p - 1)*(n + floor(log_p((p-1)*n))). This is because p^n divides (m+1)!
LINKS
Jianing Song, Table of n, a(n) for n = 0..1000
FORMULA
For n > 0, a(n) = (Sum_{k=0..m} k!) mod 2^n, where m = n + floor(log_2(n))).
EXAMPLE
For n = 9, since 2^9 divides 12!, we have a(9) = (Sum_{k=0..11} k!) mod 2^9 = 26.
For n = 12, since 2^12 divides 16!, we have a(12) = (Sum_{k=0..15} k!) mod 2^12 = 2586.
PROG
(PARI) a(n) = my(p=2); if(n==0, 0, lift(sum(k=0, (p-1)*(n+logint((p-1)*n, p)), Mod(k!, p^n))))
CROSSREFS
KEYWORD
nonn
AUTHOR
Jianing Song, Feb 17 2021
STATUS
approved