A293657 Base-4 circular primes that are not base-4 repunits.
7, 13, 23, 29, 53, 383, 509, 863, 983, 1013
Offset: 1
Examples
53 written in base 4 is 311. The base-4 numbers 311, 131, 113 written in base 10 are 53, 29, 23, respectively and all those numbers are prime, so 23, 29 and 53 are terms of the sequence.
Crossrefs
Programs
-
Mathematica
With[{b = 4}, Select[Array[Map[If[Union@ # == {1}, 0, FromDigits[#, b]] &, NestList[RotateLeft, #, Length@ # - 1]] &@ IntegerDigits[Prime@ #, b] &, 10^6, If[PrimeQ@ b, #, # + 1] &@ PrimePi@ b], AllTrue[#, PrimeQ] &][[All, 1]] ] (* Michael De Vlieger, Nov 26 2017 *) With[{b = 4}, Select[Flatten@ Array[FromDigits[#, b] & /@ Most@ Rest@ Tuples[{1, 3}, #] &, 18, 2], Function[w, And[ AllTrue[ Array[ FromDigits[ RotateRight[w, #], b] &, Length@ w], PrimeQ], Union@ w != {1} ]]@ IntegerDigits[#, b] &]] (* Michael De Vlieger, Dec 30 2017 *)
-
PARI
rot(n) = if(#Str(n)==1, v=vector(1), v=vector(#n-1)); for(i=2, #n, v[i-1]=n[i]); u=vector(#n); for(i=1, #n, u[i]=n[i]); v=concat(v, u[1]); v decimal(v, base) = my(w=[]); for(k=0, #v-1, w=concat(w, v[#v-k]*base^k)); sum(i=1, #w, w[i]) is_circularprime(p, base) = my(db=digits(p, base), r=rot(db), i=0); if(vecmin(db)==0, return(0), while(1, dec=decimal(r, base); if(!ispseudoprime(dec), return(0)); r=rot(r); if(r==db, return(1)))) forprime(p=1, , if(vecmin(digits(p, 4))!=vecmax(digits(p, 4)), if(is_circularprime(p, 4), print1(p, ", "))))
Comments