cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A059459 a(1) = 2; a(n+1) is obtained by writing a(n) in binary and trying to complement just one bit, starting with the least significant bit, until a new prime is reached.

Original entry on oeis.org

2, 3, 7, 5, 13, 29, 31, 23, 19, 17, 8209, 8273, 10321, 2129, 2131, 83, 67, 71, 79, 1103, 1039, 1031, 1063, 1061, 1069, 263213, 263209, 263201, 265249, 265313, 264289, 280673, 280681, 280697, 280699, 280703, 280639, 280607, 280603, 280859, 280843, 281867, 265483, 265547, 265579, 265571, 266083, 266081, 266089, 266093, 266029
Offset: 1

Views

Author

Gregory Allen, Feb 02 2001

Keywords

Comments

This is the lexicographically least (in positions of the flipped bits) such sequence.
It is not known if the sequence is infinite.
"The prime maze - consider the prime numbers in base 2, starting with the smallest prime (10)2. One can move to another prime number by either changing only one digit of the number, or adding a 1 to the front of the number. Can we reach 11 = (1011)2.? 3331? The Mersennes?" (See 'Prime Links + +'.) If we start at 11 and exclude terms 2 and 3 we get terms 11, 43, 41, and so on. This is the opposite parity sequence.
a(130), if it exists, is greater than 2^130000. - Charles R Greathouse IV, Jan 02 2014
a(130) is equal to a(129) + 2^400092. - Giovanni Resta, Jul 19 2017

Crossrefs

Cf. A059458 (for this sequence written in binary), A059471. A strictly ascending analog: A059661, positions of the flipped bits: A059663.

Programs

  • Maple
    A059459search := proc(a,upto_bit,upto_length) local i,n,t; if(nops(a) >= upto_length) then RETURN(a); fi; t := a[nops(a)]; for i from 0 to upto_bit do n := XORnos(t,(2^i)); if(isprime(n) and (not member(n,a))) then print([op(a), n]); RETURN(A059459search([op(a), n],upto_bit,upto_length)); fi; od; RETURN([op(a),`and no more`]); end;
    E.g., call as: A059459search([2],128,200);
  • Mathematica
    maxBits = 2^11; ClearAll[a]; a[1] = 2; a[n_] := a[n] = If[ PrimeQ[ a[n-1] ], bits = PadLeft[ IntegerDigits[ a[n-1], 2], maxBits]; For[i = 1, i <= maxBits, i++, bits2 = bits; bits2[[-i]] = 1 - bits[[-i]]; If[ i == maxBits, Print[ "maxBits reached" ]; Break[], If[ PrimeQ[an = FromDigits[ bits2, 2]] && FreeQ[ Table[ a[k], {k, 1, n-1}], an], Return[an] ] ] ], 0]; Table[ a[n], {n, 129}] (* Jean-François Alcover, Jan 17 2012 *)
    f[lst_List] := Block[{db2 = IntegerDigits[lst[[-1]], 2]}, exp = Length@ db2; While[pp = db2; pp[[exp]] = If[OddQ@db2[[exp]], 0, 1]; pp = FromDigits[pp, 2]; !PrimeQ[pp] || MemberQ[lst, pp], exp--; If[exp == 0, exp++; PrependTo[db2, 0]]]; Append[lst, pp]]; Nest[f, {2}, 128] (* Robert G. Wilson v, Jul 17 2017 *)
  • PARI
    step(n)=my(k,t); while(vecsearch(v, t=bitxor(n,1<Charles R Greathouse IV, Jan 02 2014
    
  • Python
    from sympy import isprime
    from itertools import islice
    def agen():
        seen, cand = set(), 2
        while True:
            an = cand; bit = 1; seen.add(an); yield an
            while cand in seen or not isprime(cand):
                cand = an-bit if an&bit else an+bit
                bit <<= 1
    print(list(islice(agen(), 51))) # Michael S. Branicky, Oct 01 2022

Extensions

More terms and Maple program from Antti Karttunen, Feb 03 2001, who remarks that he was able to extend the sequence to the 104th term 151115727453207491916143 using the bit-flip-limit 128.