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

filter_none

edit
close

play_arrow

link
brightness_4
code

// CPP program to check Cousin prime
  
#include <bits/stdc++.h>
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;
}

chevron_right


JAVA

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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");
    }
}

chevron_right


Python

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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"
      
     

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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");
    }
}

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php 
// PhP program to check Cousin prime
  
  
// Function to check if the given
// Number is prime or not
function 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 || $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; 
  
// Returns true if n1 and n2 are Cousin primes 
function isCousinPrime($n1, $n2
    // Check if the given number differ by 4 or not
    if(abs($n1-$n2)!=4)
        return false;
      
    // Check if both numbers are prime or not
    else
        return (isPrime($n1) && isPrime($n2));
  
// Driver code 
  
// Get the 2 numbers
$n1 = 7;
$n2 = 11;
  
    // Check the numbers for cousin prime
if (isCousinPrime($n1, $n2)) 
    echo "YES"
else
    echo "NO"
  
?> 

chevron_right


Output:

YES


My Personal Notes arrow_drop_up

self motivated and passionate programmer

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.