login
A118957
Numbers of the form 2^k + p, where p is a prime less than 2^k.
5
6, 7, 10, 11, 13, 15, 18, 19, 21, 23, 27, 29, 34, 35, 37, 39, 43, 45, 49, 51, 55, 61, 63, 66, 67, 69, 71, 75, 77, 81, 83, 87, 93, 95, 101, 105, 107, 111, 117, 123, 125, 130, 131, 133, 135, 139, 141, 145, 147, 151, 157, 159, 165, 169, 171, 175, 181, 187, 189, 195, 199
OFFSET
1,1
FORMULA
A118952(a(n)) = 1.
MAPLE
isA118957 := proc(n)
local twok, p ;
twok := 1 ;
while twok < n-1 do
p := n-twok ;
if isprime(p) and p < twok then
return true;
end if;
twok := twok*2 ;
end do:
return false;
end proc:
for n from 1 to 200 do
if isA118957(n) then
printf("%d, ", n) ;
end if;
end do: # R. J. Mathar, Feb 27 2015
MATHEMATICA
okQ[n_] := Module[{k, p}, For[k = Ceiling[Log[2, n]], k>1, k--, p = n-2^k; If[2 <= p < 2^k && PrimeQ[p], Return[True]]]; False]; Select[Range[200], okQ] (* Jean-François Alcover, Mar 11 2019 *)
PROG
(PARI) is(n)=isprime(n-2^logint(n, 2)) \\ Charles R Greathouse IV, Sep 01 2015; edited Jan 24 2024
(Python)
from sympy import primepi
def A118957(n):
def bisection(f, kmin=0, kmax=1):
while f(kmax) > kmax: kmax <<= 1
kmin = kmax >> 1
while kmax-kmin > 1:
kmid = kmax+kmin>>1
if f(kmid) <= kmid:
kmax = kmid
else:
kmin = kmid
return kmax
def f(x): return n+x-sum(primepi(min(x-(m:=1<<k), m-1)) for k in range(x.bit_length()))
return bisection(f, n, n) # Chai Wah Wu, Feb 23 2025
CROSSREFS
Complement of A118956; subsequence of A118955.
Sequence in context: A085267 A374528 A372587 * A374353 A037303 A135121
KEYWORD
nonn
AUTHOR
Reinhard Zumkeller, May 07 2006
STATUS
approved