(PARI) P=primes(25); T=1; for(n=1, 25, T*=P[n]; m=T; for(k=2^(n-1), 2^n-1, u=binary(k); a=1; for(i=1, n, if(u[i], a*=P[i])); b=T/a; w=bezout(a, b); if(w[1]<=0, w[1]+=b); c=a*w[1]-1; m=min(m, c); w[1]=b-w[1]; if(w[1]<=0, w[1]+=b); c=a*w[1]; m=min(m, c)); print1(m, ", ")) \\
Robert Gerbicz, Aug 24 2006
(Haskell)
import Data.List (elemIndex); import Data.Maybe (fromJust)
a118478 n = (+ 1) . fromJust $ elemIndex 0 $
map (flip mod (a002110 n)) $ tail a002378_list
(Python)
from itertools import combinations
from math import prod
from sympy import sieve, prime, primorial
from sympy.ntheory.modular import crt
def
A118478(n): return 1 if n == 1 else int(min(min(crt((m, (k:=primorial(n))//m), (0, -1))[0], crt((k//m, m), (0, -1))[0]) for m in (prod(d) for l in range(1, n//2+1) for d in combinations(sieve.primerange(prime(n)+1), l)))) #
Chai Wah Wu, May 31 2022