%I #13 Apr 09 2020 00:56:02
%S 3,7,11,31,47,127,191,383,991,2039,3583,8191,15359,20479,63487,131071,
%T 245759,524287,786431,1966079,4128767,7323647,14680063,33546239,
%U 67108351,100646911,260046847,536739839,1073479679,2147483647
%N Smallest prime between 2^n and 2^(n+1), having a maximal number of 1's in binary representation.
%C A091937(n) = A000120(a(n)).
%H Chai Wah Wu, <a href="/A091938/b091938.txt">Table of n, a(n) for n = 1..1000</a>
%t NextPrim[n_] := Block[{k = n + 1}, While[ !PrimeQ[k], k++ ]; k]; p = 2; Do[c = 0; While[p < 2^n, b = Count[ IntegerDigits[p, 2], 1]; If[c < b, c = b; q = p]; p = NextPrim[p]]; Print[q], {n, 1, 30}] (* _Robert G. Wilson v_, Feb 21 2004 *)
%t b[n_] := Min[ Select[ FromDigits[ #, 2] & /@ (Join[{1}, #, {1}] & /@ Permutations[ Join[{0}, Table[1, {n - 2}]]]), PrimeQ[ # ] &]]; c[n_] := Min[ Select[ FromDigits[ #, 2] & /@ (Join[{1}, #, {1}] & /@ Permutations[ Join[{0, 0}, Table[1, {n - 3}]]]), PrimeQ[ # ] &]]; f[n_] := If[ PrimeQ[2^(n + 1) - 1], 2^(n + 1) - 1, If[ PrimeQ[ b[n]], b[n], c[n]]]; Table[ f[n], {n, 30}] (* _Robert G. Wilson v_ *)
%o (Python)
%o from sympy import isprime
%o from sympy.utilities.iterables import multiset_permutations
%o def A091938(n):
%o for i in range(n,-1,-1):
%o q = 2**n
%o for d in multiset_permutations('0'*(n-i)+'1'*i):
%o p = q+int(''.join(d),2)
%o if isprime(p):
%o return p # _Chai Wah Wu_, Apr 08 2020
%Y Cf. A091936, A000668.
%K nonn
%O 1,1
%A _Reinhard Zumkeller_, Feb 14 2004
%E More terms from _Robert G. Wilson v_, Feb 20 2004
|