%I #58 Feb 24 2023 18:51:48
%S 1,1,2,2,4,1,6,2,5,1,10,1,12,3,8,1,16,1,18,4,11,1,22,22,6,5,14,1,28,1,
%T 30,33,20,31,18,1,36,7,20,1,40,1,42,8,23,1,46,19,11,9,26,1,52,30,27,
%U 10,29,1,58,1,60,43,53,56,33,1,66,12,35,1,70,1,72,27,23
%N a(n) is the remainder after dividing n! by its least nondivisor.
%C For every term besides a(3), the least nondivisor is the next prime after n.
%H Alois P. Heinz, <a href="/A360825/b360825.txt">Table of n, a(n) for n = 0..10000</a>
%F a(n) = 1 <=> n in { A040976 } \ { 3 }.
%F a(n) = n <=> n in { A006093 }.
%F a(n) = n! mod A151800(n) for n > 3.
%F a(n) = A213636(n!) = A213636(A000142(n)).
%F a(A000040(n)) = A275111(n) for n >= 3.
%F a(n) > n <=> n in { A360805 }.
%e a(5) = 5! mod 7 = 120 mod 7 = 1.
%t a[n_] := Module[{f = n!, m = n + 1}, While[Divisible[f, m], m++]; Mod[f, m]]; Array[a, 100, 0] (* _Amiram Eldar_, Feb 22 2023 *)
%o (PARI) a(n) = my(k=1, r); while(!(r=(n! % (n+k))), k++); r; \\ _Michel Marcus_, Feb 22 2023
%o (Python)
%o from functools import reduce
%o from sympy import nextprime
%o def A360825(n):
%o if n == 3: return 2
%o m = nextprime(n)
%o return reduce(lambda i, j: i*j%m,range(2,n+1),1)%m # _Chai Wah Wu_, Feb 22 2023
%o (Python)
%o from functools import reduce
%o from sympy import nextprime
%o def A360825(n):
%o if n == 3: return 2
%o m = nextprime(n)
%o return (m-1)*pow(reduce(lambda i,j:i*j%m,range(n+1,m),1),-1,m)%m # _Chai Wah Wu_, Feb 23 2023
%Y Cf. A000040, A000142, A006093, A040976, A151800, A213636, A275111, A360805.
%K nonn
%O 0,3
%A _Sebastian F. Orellana_, Feb 22 2023