Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,885 questions

51,811 answers

573 users

How to find two prime numbers that, when concatenated, form another prime number in Python

1 Answer

0 votes
def is_prime(n: int) -> bool:
    if n < 2:
        return False
    if n % 2 == 0 and n != 2:
        return False
    i = 3
    while i * i <= n:
        if n % i == 0:
            return False
        i += 2
        
    return True


def concat(a: int, b: int) -> int:
    s = str(a) + str(b)
    
    return int(s)


def main():
    limit = 12  # you can increase this
    primes = [i for i in range(2, limit + 1) if is_prime(i)]

    # Check pairs
    for i in range(len(primes)):
        for j in range(len(primes)):
            if i == j:
                continue  # skip same prime if you want
            num = concat(primes[i], primes[j])
            if is_prime(num):
                print(f"{primes[i]} + {primes[j]} -> {num} is prime")


if __name__ == "__main__":
    main()



'''
run:

2 + 3 -> 23 is prime
2 + 11 -> 211 is prime
3 + 7 -> 37 is prime
3 + 11 -> 311 is prime
5 + 3 -> 53 is prime
7 + 3 -> 73 is prime
11 + 3 -> 113 is prime

'''

 



answered Nov 28, 2025 by avibootz
...