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.

A045548 Numbers whose factorial has '4' as its final nonzero digit.

This page as a plain text file.
%I A045548 #36 Dec 07 2023 17:36:38
%S A045548 4,7,20,21,23,25,26,28,37,42,49,52,55,56,58,64,69,75,76,78,87,92,99,
%T A045548 100,101,103,112,117,124,134,135,136,138,140,141,143,147,152,155,156,
%U A045548 158,164,169,179,182,195,196,198,202,205,206,208,214,219
%N A045548 Numbers whose factorial has '4' as its final nonzero digit.
%C A045548 From _Robert Israel_, Dec 16 2016: (Start)
%C A045548 If n is in the sequence, then:
%C A045548 if n == 0 (mod 5), n+1 is in the sequence;
%C A045548 if n == 1 (mod 5), n+1 is in A045550;
%C A045548 if n == 2 (mod 5), n+1 is in A045547;
%C A045548 if n == 3 (mod 5), n+1 is in A045549. (End)
%H A045548 Robert Israel, <a href="/A045548/b045548.txt">Table of n, a(n) for n = 1..10000</a>
%H A045548 <a href="/index/Fi#final">Index entries for sequences related to final digits of numbers</a>
%p A045548 count:= 0:
%p A045548 r:= 1:
%p A045548 for n from 2 while count < 100 do
%p A045548   r:= r*n;
%p A045548   if r mod 10 = 0 then r:= r/10^padic:-ordp(r, 5) fi;
%p A045548   if r mod 10 = 4 then count:= count+1; A[count]:= n fi;
%p A045548 od: seq(A[i], i=1..100); # _Robert Israel_, Dec 16 2016
%t A045548 f[n_] := Mod[6 Times @@ (Rest[ FoldList[{1 + #1[[1]], #2! 2^(#1[[1]] #2)} &, {0, 0}, Reverse[ IntegerDigits[n, 5]]]]), 10][[2]] (* after _Jacob A. Siehler_ & _Greg Dresden_ in A008904 *); f[0] = f[1] = 1; Select[ Range[150], f[#] == 4 &] (* _Robert G. Wilson v_, Dec 28 2016 *)
%o A045548 (Python)
%o A045548 from itertools import count, islice
%o A045548 from functools import reduce
%o A045548 from sympy.ntheory.factor_ import digits
%o A045548 def A045548_gen(startvalue=1): # generator of terms >= startvalue
%o A045548     return filter(lambda n:4==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(digits(n,5)[-1:0:-1])),6), count(max(startvalue,1)))
%o A045548 A045548_list = list(islice(A045548_gen(),30)) # _Chai Wah Wu_, Dec 07 2023
%Y A045548 Cf. A000142, A008904, A045547, A045549, A045550.
%K A045548 nonn,base
%O A045548 1,1
%A A045548 _Jeff Burch_