A118957 Numbers of the form 2^k + p, where p is a prime less than 2^k.
Keywords
Programs
-
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 *)
-
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<
Chai Wah Wu, Feb 23 2025
Comments