login
Least Hamming weight of multiples of the n-th prime.
4

%I #22 Jun 08 2020 05:22:57

%S 1,2,2,3,2,2,2,2,3,2,5,2,2,2,3,2,2,2,2,3,3,3,2,4,2,2,3,2,2,2,7,2,2,2,

%T 2,3,2,2,3,2,2,2,3,2,2,3,2,4,2,2,4,3,2,2,2,3,2,3,2,2,2,2,2,3,2,2,2,3,

%U 2,2,2,3,3,2,2,3,2,2,2,2,2,2,4,2,3,2,2,2,2,3,2,3,3,2,2,3,2,2,2,2

%N Least Hamming weight of multiples of the n-th prime.

%C Since all primes after the first are odd, a(n) > 1 for n > 1.

%C a(n) = 2 if and only if A014664(n) is even, or equivalently prime(n) is not in A014663. - _Robert Israel_, Dec 08 2016

%C If prime(n) = A000668(k), then a(n) = A000043(k). - _Robert Israel_, Dec 20 2016

%H Robert Israel, <a href="/A278966/b278966.txt">Table of n, a(n) for n = 1..1000</a>

%p f:= proc(n) local p, R, V, W, k,v,r;

%p p:= ithprime(n);

%p R:= {seq(2 &^ i mod p, i=0..numtheory:-order(2,p)-1)};

%p Rm:= map(t -> p-t, R);

%p V:= R;

%p W:= V;

%p for k from 2 do

%p if nops(V intersect Rm) > 0 then return k fi;

%p V:= {seq(seq(v+r mod p, v=V),r=R)} minus W;

%p W:= W union V;

%p od

%p end proc:

%p f(1):= 1:

%p map(f, [$1..100]); # _Robert Israel_, Dec 20 2016

%t a[n_] := Module[{p, R, V, W, k, v, r}, p = Prime[n]; R = Union @ Table[ PowerMod[2, i, p], {i, 0, MultiplicativeOrder[2, p]-1}]; Rm = p - R; V = R; W = V; For[k = 2, True, k++, If[Length[V ~Intersection~ Rm] > 0, Return[k]]; V = Union@ Flatten@ Table[Table[v + Mod[r, p], {v, V}], {r, R}] ~Complement~ W; {W, W ~Union~ V}]];

%t a[1] = 1;

%t Array[a, 100] (* _Jean-François Alcover_, Jun 08 2020, after _Robert Israel_ *)

%o (PARI) a(n,p=prime(n))=my(o=znorder(Mod(2,p)), v1=Set(powers(Mod(2,p),o)), v=v1, s=1); while(!setsearch(v,Mod(0,p)), v=setbinop((x,y)->x+y,v,v1); s++); s

%Y Cf. A014663, A014664, A278967, A278968, A086342.

%K nonn

%O 1,2

%A _Charles R Greathouse IV_, Dec 02 2016