# Check whether the given numbers are Cousin prime or not

• Last Updated : 10 Oct, 2021

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 differ 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 differ 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 differ 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

 ``

## Javascript

 ``
Output:
`YES`

Time Complexity: O(n11/2)

Auxiliary Space: O(1)

My Personal Notes arrow_drop_up