Check if a number is a Pythagorean Prime or not
Given a positive integer N, check if it is Pythagorean prime or not. If it is a Pythagorean prime, print ‘Yes’ otherwise print ‘No’.
Pythagorean primes : A prime number of the form 4*n + 1 is a Pythagorean prime. It can also be expressed as sum of two squares.
Pythagorean primes in the range 1 – 100 are:
5, 13, 17, 29, 37, 41, 53, 61, 73, 89, 97
Examples:
Input : N = 5
Output : Yes
Explanation : 5 is a prime number and can be expressed
in the form ( 4*n + 1 ) as ( 4*1 + 1 ).
Input : N = 13
Output : Yes
Explanation: 13 is a prime number and can be expressed
in the form ( 4*n + 1 ) as ( 4*3 + 1 ).
A Simple Solution is to check first if the given number is prime or not and can be written in the form of 4*n + 1 or not. If yes, Then the number is Pythagorean prime, otherwise not.
Below is the implementation of the above approach
C++
#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 ;
}
int main()
{
int n = 13;
if (isPrime(n) && (n % 4 == 1)) {
cout << "YES" ;
}
else {
cout << "NO" ;
}
return 0;
}
|
Java
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 ;
}
public static void main(String[] args)
{
int n = 13 ;
if (isPrime(n) && (n % 4 == 1 )) {
System.out.println( "YES" );
}
else {
System.out.println( "NO" );
}
}
}
|
Python3
def isPrime(n) :
if (n < = 1 ) :
return False
if (n < = 3 ) :
return True
if (n % 2 = = 0 or n % 3 = = 0 ) :
return False
i = 5
while (i * i < = n) :
if (n % i = = 0 or n % (i + 2 ) = = 0 ) :
return False
i = i + 6
return True
n = 13
if (isPrime(n) and (n % 4 = = 1 )):
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 ;
}
public static void Main( string [] args)
{
int n = 13;
if (isPrime(n) && (n % 4 == 1))
{
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 or $n % 3 == 0)
return false;
for ( $i = 5; $i * $i <= $n ;
$i = $i + 6)
{
if ( $n % $i == 0 or
$n % ( $i + 2) == 0)
{
return false;
}
}
return true;
}
$n = 13;
if (isPrime( $n ) && ( $n % 4 == 1))
{
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 ;
}
var n = 13;
if (isPrime(n) && (n % 4 == 1)) {
document.write( "YES" );
}
else {
document.write( "NO" );
}
</script>
|
Time Complexity: O(sqrt(n))
Auxiliary Space: O(1)
Last Updated :
20 Aug, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...