# Check whether the given numbers are Cousin prime or not

Given two positive integer n1 and n2, the task is to check if both are Cousin primes or not. Print ‘YES’ if the both the numbers are Cousin primes otherwise print ‘NO’.

Cousin primes: In Mathematics, Cousin primes are prime numbers that differ by 4. Suppose ‘p’ is a prime number and if ( p + 4) is also a prime number then both the prime numbers will be called as cousin primes.

The Cousin primes below 100 are:

(3, 7), (7, 11), (13, 17), (19, 23), (37, 41), (43, 47), (67, 71), (79, 83), (97, 101)

Examples:

```Input: n1 = 7, n2 = 11
Output: YES
Both are prime numbers and they differ by 4.

Input: n1 = 5, n2 = 11
Output: NO
Both are prime numbers but they differ by 6.
```

Approach: A Simple Solution is to check if both number are primes and differ by 4 or not. If they are primes and differ by 4 then they will be cousin primes, otherwise not.

Below is the implementation of above approach:

## CPP

 `// CPP program to check Cousin prime ` ` `  `#include ` `using` `namespace` `std; ` ` `  `// Function to check if a number is prime or not ` `bool` `isPrime(``int` `n) ` `{ ` `    ``// Corner cases ` `    ``if` `(n <= 1) ` `        ``return` `false``; ` `    ``if` `(n <= 3) ` `        ``return` `true``; ` ` `  `    ``// This is checked so that we can skip ` `    ``// middle five numbers in below loop ` `    ``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``; ` `} ` ` `  `// Returns true if n1 and n2 are Cousin primes ` `bool` `isCousinPrime(``int` `n1, ``int` `n2) ` `{ ` `    ``// Check if they diifer by 4 or not ` `    ``if` `(``abs``(n1 - n2) != 4) ` `        ``return` `false``; ` ` `  `    ``// Check if both are prime number or not ` `    ``else` `        ``return` `(isPrime(n1) && isPrime(n2)); ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` ` `  `    ``// Get the 2 numbers ` `    ``int` `n1 = 7, n2 = 11; ` ` `  `    ``// Check the numbers for cousin prime ` `    ``if` `(isCousinPrime(n1, n2)) ` `        ``cout << ``"YES"` `<< endl; ` `    ``else` `        ``cout << ``"NO"` `<< endl; ` ` `  `    ``return` `0; ` `} `

## JAVA

 `// JAVA program to check Cousin prime ` ` `  `import` `java.util.*; ` ` `  `class` `GFG { ` ` `  `    ``// Function to check if a number is prime or not ` `    ``static` `boolean` `isPrime(``int` `n) ` `    ``{ ` `        ``// Corner cases ` `        ``if` `(n <= ``1``) ` `            ``return` `false``; ` `        ``if` `(n <= ``3``) ` `            ``return` `true``; ` ` `  `        ``// This is checked so that we can skip ` `        ``// middle five numbers in below loop ` `        ``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``; ` `    ``} ` ` `  `    ``// Returns true if n1 and n2 are Cousin primes ` `    ``static` `boolean` `isCousinPrime(``int` `n1, ``int` `n2) ` `    ``{ ` `        ``// Check if they diifer by 4 or not ` `        ``if` `(Math.abs(n1 - n2) != ``4``) ` `            ``return` `false``; ` ` `  `        ``// Check if both are prime number or not ` `        ``else` `            ``return` `(isPrime(n1) && isPrime(n2)); ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` ` `  `        ``// Get the 2 numbers ` `        ``int` `n1 = ``7``, n2 = ``11``; ` ` `  `        ``// Check the numbers for cousin prime ` `        ``if` `(isCousinPrime(n1, n2)) ` `            ``System.out.println(``"YES"``); ` `        ``else` `            ``System.out.println(``"NO"``); ` `    ``} ` `} `

## Python

 `# Python program to check Cousin prime ` ` `  `import` `math  ` `   `  `# Function to check whether a    ` `# number is prime or not  ` `def` `isPrime( n ):  ` `       `  `    ``# Corner cases  ` `    ``if` `n <``=` `1``:  ` `        ``return` `False` `    ``if` `n <``=` `3``:  ` `        ``return` `True` `       `  `    ``# This is checked so that we   ` `    ``# can skip middle five numbers  ` `    ``# in below loop  ` `    ``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` `         `  `# Returns true if n1 and n2 are Cousin primes  ` `def` `isCousinPrime( n1,  n2) : ` ` `  `    ``# Check if they diifer by 4 or not  ` `    ``if``(``not` `(``abs``(n1``-``n2)``=``=` `4``)): ` `        ``return` `False` `     `  `    ``# Check if both are prime number or not ` `    ``else``: ` `        ``return` `(isPrime(n1) ``and` `isPrime(n2)) ` `  `  ` `  `# Driver code  ` ` `  `# Get the 2 numbers ` `n1 ``=` `7` `n2 ``=` `11` ` `  `# Check the numbers for cousin prime ` `if` `(isCousinPrime(n1, n2)):  ` `    ``print``(``"YES"``) ` `else``: ` `    ``print``(``"NO"``)  ` `     `  `    `

## C#

 `// C# Code for Cousin Prime Numbers ` ` `  `using` `System; ` ` `  `class` `GFG { ` ` `  `    ``// Function to check if the given ` `    ``// number is prime or not ` `    ``static` `bool` `isPrime(``int` `n) ` `    ``{ ` `        ``// Corner cases ` `        ``if` `(n <= 1) ` `            ``return` `false``; ` `        ``if` `(n <= 3) ` `            ``return` `true``; ` ` `  `        ``// This is checked so that we can skip ` `        ``// middle five numbers in below loop ` `        ``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``; ` `    ``} ` ` `  `    ``// Returns true if n1 and n2 are Cousin primes ` `    ``static` `bool` `isCousinPrime(``int` `n1, ``int` `n2) ` `    ``{ ` `        ``// Check if the numbers differ by 4 or not ` `        ``if` `(Math.Abs(n1 - n2) != 4) { ` `            ``return` `false``; ` `        ``} ` `        ``else` `{ ` `            ``return` `(isPrime(n1) && isPrime(n2)); ` `        ``} ` `    ``} ` ` `  `    ``// Driver program ` `    ``public` `static` `void` `Main() ` `    ``{ ` ` `  `        ``// Get the 2 numbers ` `        ``int` `n1 = 7, n2 = 11; ` ` `  `        ``// Check the numbers for cousin prime ` `        ``if` `(isCousinPrime(n1, n2)) ` `            ``Console.WriteLine(``"YES"``); ` `        ``else` `            ``Console.WriteLine(``"NO"``); ` `    ``} ` `} `

## PHP

 `  `

Output:

```YES
```

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.