// Function to check primality
function isPrime(int $n): bool {
if ($n < 2) return false;
if ($n % 2 === 0 && $n !== 2) return false;
for ($i = 3; $i * $i <= $n; $i += 2) {
if ($n % $i === 0) return false;
}
return true;
}
// Concatenate two integers
function concat(int $a, int $b): int {
$s = (string)$a . (string)$b;
return (int)$s;
}
function main(): void {
$limit = 12; // you can increase this
$primes = [];
// Generate primes up to limit
for ($i = 2; $i <= $limit; $i++) {
if (isPrime($i)) {
$primes[] = $i;
}
}
// Check pairs
for ($i = 0; $i < count($primes); $i++) {
for ($j = 0; $j < count($primes); $j++) {
if ($i === $j) continue; // skip same prime if you want
$num = concat($primes[$i], $primes[$j]);
if (isPrime($num)) {
echo "{$primes[$i]} + {$primes[$j]} -> {$num} is prime\n";
}
}
}
}
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
*/