[go: up one dir, main page]

login
A178969
Last nonzero decimal digit of (10^10^n)!.
1
8, 2, 6, 4, 2, 2, 6, 2, 6, 4, 2, 2
OFFSET
0,1
COMMENTS
It is possible to find a(10) using the program from the second Bomfim link, or a similar GMP program. Reserve 312500001 words instead of 31250001. Use a computer with at least 6 GB of RAM. - Washington Bomfim, Jan 06 2011
FORMULA
From Washington Bomfim, Jan 06 2011: (Start)
a(n) = A008904(10^(10^n)).
a(n) = A008904(2^(10^n)), if n > 0.
For n >= 1, with N = 10^n, 2^N represented in base 5 as (a_h, ..., a_0)_5, t = Sum_{i = h, h-1, ..., 0} (a_i even), x = Sum_{i = h, h-1, ..., 1}(Sum_{k = h, h-1, ..., i} (a_i)), z = (x + t/2) mod 4, and y = 2^z, a(n) = 6*(y mod 2) + y*(1 - (y mod 2)).
(End)
MATHEMATICA
f[n_] := Mod[6Times @@ (Rest[FoldList[{ 1 + #1[[1]], #2!2^(#1[[1]]#2)} &, {0, 0}, Reverse[IntegerDigits[n, 5]]]]), 10][[2]]; (* Jacob A. Siehler *) Table[ f[10^10^n], {n, 0, 4}]
PROG
(PARI)\\ L is the list of the N digits of 2^(10^n) in base 5.
\\ With 2^(10^n) in base 5 as (a_h, ... , a_0)5,
\\ L[1] = a_0, ... , L[N] = a_h.
convert(n)={n=2^(10^n); x=n; N=floor(log(n)/log(5)) + 1;
L = listcreate(N);
while(x, n=floor(n/5); r=x-5*n; listput(L, r); x=n; );
L; N
};
print("0 8"); for(n=1, 5, print1(n, " "); convert(n); q=0; t=0; x=0; forstep(i=N, 2, -1, a_i=L[i]; q+=a_i; x+=q; t+=a_i*(1-a_i%2); ); a_i=L[1]; t+=a_i*(1-a_i%2); z=(x+t/2)%4; y=2^z; an=6*(y%2)+y*(1-(y%2)); print(an)); \\ Washington Bomfim, Jan 06 2011
(Python)
from functools import reduce
from sympy.ntheory.factor_ import digits
def A178969(n): return reduce(lambda x, y:x*y%10, (((6, 2, 4, 8, 6, 2, 4, 8, 2, 4, 8, 6, 6, 2, 4, 8, 4, 8, 6, 2)[(a<<2)|(i*a&3)] if i*a else (1, 1, 2, 6, 4)[a]) for i, a in enumerate(sympydigits(1<<10**n, 5)[-1:0:-1])), 6) if n else 8 # Chai Wah Wu, Dec 07 2023
CROSSREFS
KEYWORD
nonn,base,more
AUTHOR
Robert G. Wilson v, Jan 01 2011
EXTENSIONS
a(9) from Washington Bomfim, Jan 06 2011
a(10) from Chai Wah Wu, Dec 07 2023
a(11) from Chai Wah Wu, Dec 08 2023
STATUS
approved