Twin Prime Numbers
Last Updated :
07 Jan, 2024
A Twin prime are those numbers which are prime and having a difference of two ( 2 ) between the two prime numbers. In other words, a twin prime is a prime that has a prime gap of two.
Sometimes the term twin prime is used for a pair of twin primes; an alternative name for this is prime twin or prime pair. Usually the pair (2, 3) is not considered to be a pair of twin primes. Since 2 is the only even prime, this pair is the only pair of prime numbers that differ by one; thus twin primes are as closely spaced as possible for any other two primes.
The first few twin prime pairs are :
(3, 5), (5, 7), (11, 13), (17, 19), (29, 31),
(41, 43), (59, 61), (71, 73), (101, 103),
(107, 109), (137, 139), …etc.
FACT : There are 409 Twin primes below 10, 000.
Every twin prime pair except (3, 5) is of the form (6n – 1, 6n + 1) for some natural number n; that is, the number between the two primes is a multiple of 6.
Examples :
Input : n1 = 11, n2 = 13
Output : Twin Prime
Input : n1 = 23, n2 = 37
Output : Not Twin Prime
Prerequisite : Primality Test | Set 1 (Introduction and School Method)
C++
#include <iostream>
using namespace std;
bool isPrime( int n)
{
if (n <= 1) return false ;
if (n <= 3) return true ;
if (n%2 == 0 || n%3 == 0) return false ;
for ( int i=5; i*i<=n; i=i+6)
if (n%i == 0 || n%(i+2) == 0)
return false ;
return true ;
}
bool twinPrime( int n1, int n2)
{
return (isPrime(n1) && isPrime(n2) &&
abs (n1 - n2) == 2);
}
int main()
{
int n1 = 11, n2 = 13;
if (twinPrime(n1, n2))
cout << "Twin Prime" << endl;
else
cout << endl
<< "Not Twin Prime" << endl;
return 0;
}
|
Java
import java.util.*;
class GFG {
static boolean isPrime( int n)
{
if (n <= 1 ) return false ;
if (n <= 3 ) return true ;
if (n % 2 == 0 || n % 3 == 0 )
return false ;
for ( int i = 5 ; i * i <= n; i = i + 6 )
if (n % i == 0 || n % (i + 2 ) == 0 )
return false ;
return true ;
}
static boolean twinPrime( int n1, int n2)
{
return (isPrime(n1) && isPrime(n2) &&
Math.abs(n1 - n2) == 2 );
}
public static void main(String[] args)
{
int n1 = 11 , n2 = 13 ;
if (twinPrime(n1, n2))
System.out.println( "Twin Prime" );
else
System.out.println( "Not Twin Prime" );
}
}
|
Python3
import math
def isPrime( n ):
if n < = 1 :
return False
if n < = 3 :
return True
if n % 2 = = 0 or n % 3 = = 0 :
return False
for i in range ( 5 , int (math.sqrt(n) + 1 ), 6 ):
if n % i = = 0 or n % (i + 2 ) = = 0 :
return False
return True
def twinPrime(n1 , n2):
return (isPrime(n1) and isPrime(n2) and
abs (n1 - n2) = = 2 )
n1 = 137
n2 = 139
if twinPrime(n1, n2):
print ( "Twin Prime" )
else :
print ( "Not Twin Prime" )
|
C#
using System;
class GFG {
static bool isPrime( int n)
{
if (n <= 1) return false ;
if (n <= 3) return true ;
if (n % 2 == 0 || n % 3 == 0)
return false ;
for ( int i = 5; i * i <= n; i = i + 6)
if (n % i == 0 || n % (i + 2) == 0)
return false ;
return true ;
}
static bool twinPrime( int n1, int n2)
{
return (isPrime(n1) && isPrime(n2) &&
Math.Abs(n1 - n2) == 2);
}
public static void Main()
{
int n1 = 11, n2 = 13;
if (twinPrime(n1, n2))
Console.WriteLine( "Twin Prime" );
else
Console.WriteLine( "Not Twin Prime" );
}
}
|
Javascript
<script>
function isPrime( n)
{
if (n <= 1)
return false ;
if (n <= 3)
return true ;
if (n % 2 == 0 || n % 3 == 0)
return false ;
for ( let i = 5; i * i <= n; i = i + 6)
if (n % i == 0 || n % (i + 2) == 0)
return false ;
return true ;
}
function twinPrime( n1, n2) {
return (isPrime(n1) && isPrime(n2) && Math.abs(n1 - n2) == 2);
}
let n1 = 11, n2 = 13;
if (twinPrime(n1, n2))
document.write( "Twin Prime" );
else
document.write( "Not Twin Prime" );
</script>
|
PHP
<?php
function isPrime( $n )
{
if ( $n <= 1) return false;
if ( $n <= 3) return true;
if ( $n % 2 == 0 || $n % 3 == 0)
return false;
for ( $i = 5; $i * $i <= $n ; $i = $i + 6)
if ( $n % $i == 0 || $n % ( $i + 2) == 0)
return false;
return true;
}
function twinPrime( $n1 , $n2 )
{
return (isPrime( $n1 ) && isPrime( $n2 ) &&
abs ( $n1 - $n2 ) == 2);
}
$n1 = 11; $n2 = 13;
if (twinPrime( $n1 , $n2 ))
echo "Twin Prime" , "\n" ;
else
echo "\n" , "Not Twin Prime" , "\n" ;
?>
|
Output :
Twin Prime
Time Complexity: O(?n1+?n2)
Auxiliary Space: O(1)
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...