login
a(n) is the remainder after dividing n! by its least nondivisor.
3

%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