A090423 Primes that can be written in binary representation as concatenation of other primes.
11, 23, 29, 31, 43, 47, 59, 61, 71, 79, 83, 109, 113, 127, 151, 157, 167, 173, 179, 181, 191, 223, 229, 233, 239, 241, 251, 271, 283, 317, 337, 347, 349, 353, 359, 367, 373, 379, 383, 431, 433, 439, 457, 463, 467, 479, 487, 491, 499, 503, 509, 541, 563, 599, 607
Offset: 1
Examples
337 is 101010001 in binary, 10 is 2, 10 is 2, 10001 is 17, partition is 10_10_10001, so 337 is in the sequence.
Links
- Reinhard Zumkeller, Table of n, a(n) for n = 1..10000
Programs
-
Haskell
a090423 n = a090423_list !! (n-1) a090423_list = filter ((> 1 ) . a090418 . fromInteger) a000040_list -- Reinhard Zumkeller, Aug 06 2012
-
PARI
is_A090423(n)={isprime(n)&&for(i=2, #binary(n)-2, bittest(n, i-1)&&isprime(n%2^i)&&is_A090421(n>>i)&&return(1))} \\ M. F. Hasler, Apr 21 2015
-
Python
# Primes = [2,...,607] from sympy import sieve primes = list(sieve.primerange(1, 608)) def tryPartioning(binString): # First digit is not 0 l = len(binString) for t in range(2, l-1): substr1 = binString[:t] if (int('0b'+substr1,2) in primes) or (t>=4 and tryPartioning(substr1)): substr2 = binString[t:] if substr2[0]!='0': if (int('0b'+substr2,2) in primes) or (l-t>=4 and tryPartioning(substr2)): return 1 return 0 for p in primes: if tryPartioning(bin(p)[2:]): print(p, end=',')
-
Python
from sympy import isprime, primerange def ok(p): b = bin(p)[2:] for i in range(2, len(b)-1): if isprime(int(b[:i], 2)) and b[i] != '0': if isprime(int(b[i:], 2)) or ok(int(b[i:], 2)): return True return False def aupto(lim): return [p for p in primerange(2, lim+1) if ok(p)] print(aupto(607)) # Michael S. Branicky, May 16 2021
Extensions
Corrected by Alex Ratushnyak, Aug 03 2012
Comments