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 <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 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
<?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" ; ?> |
Javascript
<script> // Javascript program to check Cousin prime // Function to check if a 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 ( var 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 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 // Get the 2 numbers var n1 = 7, n2 = 11; // Check the numbers for cousin prime if (isCousinPrime(n1, n2)) document.write( "YES" ); else document.write( "NO" ); </script> |
YES
Time Complexity: O(n11/2), since the loop runs for sqrt(n) times.
Auxiliary Space: O(1), since no extra space has been taken.
Please Login to comment...