Check whether the given numbers are Cousin prime or not
Last Updated :
25 Aug, 2022
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
#include <bits/stdc++.h>
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 isCousinPrime( int n1, int n2)
{
if ( abs (n1 - n2) != 4)
return false ;
else
return (isPrime(n1) && isPrime(n2));
}
int main()
{
int n1 = 7, n2 = 11;
if (isCousinPrime(n1, n2))
cout << "YES" << endl;
else
cout << "NO" << 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 isCousinPrime( int n1, int n2)
{
if (Math.abs(n1 - n2) != 4 )
return false ;
else
return (isPrime(n1) && isPrime(n2));
}
public static void main(String[] args)
{
int n1 = 7 , n2 = 11 ;
if (isCousinPrime(n1, n2))
System.out.println( "YES" );
else
System.out.println( "NO" );
}
}
|
Python
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 isCousinPrime( n1, n2) :
if ( not ( abs (n1 - n2) = = 4 )):
return False
else :
return (isPrime(n1) and isPrime(n2))
n1 = 7
n2 = 11
if (isCousinPrime(n1, n2)):
print ( "YES" )
else :
print ( "NO" )
|
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 isCousinPrime( int n1, int n2)
{
if (Math.Abs(n1 - n2) != 4) {
return false ;
}
else {
return (isPrime(n1) && isPrime(n2));
}
}
public static void Main()
{
int n1 = 7, n2 = 11;
if (isCousinPrime(n1, n2))
Console.WriteLine( "YES" );
else
Console.WriteLine( "NO" );
}
}
|
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 isCousinPrime( $n1 , $n2 )
{
if ( abs ( $n1 - $n2 )!=4)
return false;
else
return (isPrime( $n1 ) && isPrime( $n2 ));
}
$n1 = 7;
$n2 = 11;
if (isCousinPrime( $n1 , $n2 ))
echo "YES" ;
else
echo "NO" ;
?>
|
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 ( var i = 5; i * i <= n; i = i + 6) {
if (n % i == 0 || n % (i + 2) == 0) {
return false ;
}
}
return true ;
}
function isCousinPrime(n1, n2)
{
if (Math.abs(n1 - n2) != 4)
return false ;
else
return (isPrime(n1) && isPrime(n2));
}
var n1 = 7, n2 = 11;
if (isCousinPrime(n1, n2))
document.write( "YES" );
else
document.write( "NO" );
</script>
|
Time Complexity: O(n11/2), since the loop runs for sqrt(n) times.
Auxiliary Space: O(1), since no extra space has been taken.
Share your thoughts in the comments
Please Login to comment...