Check if a number is a Pythagorean Prime or not - GeeksforGeeks

07 May, 2021
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++
Java
Python3
C#
PHP
Javascript
// CPP program to check  if a number is// Pythagorean prime or not #include <bits/stdc++.h>using namespace std; // Function to check if a number is// prime or notbool 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;} // Driver Programint main(){    int n = 13;         // Check if number is prime    // and of the form 4*n+1    if (isPrime(n) && (n % 4 == 1)) {        cout << "YES";    }    else {        cout << "NO";    }     return 0;}
// JAVA program to check  if a number is// Pythagorean prime or not 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;    }     // Driver Program    public static void main(String[] args)    {        int n = 13;         // Check if number is prime        // and of the form 4n+1        if (isPrime(n) && (n % 4 == 1)) {            System.out.println("YES");        }        else {            System.out.println("NO");        }    }}
# Python 3 program to check if a number is# Pythagorean prime or not # Utility function to check# if a number is prime or notdef 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     i = 5    while(i * i <= n) :        if (n % i == 0 or n % (i + 2) == 0) :            return False        i = i + 6     return True         # Driver Coden = 13     # Check if number is prime# and of the form 4n + 1 if(isPrime(n) and (n % 4 == 1)):     print("YES") else:     print("NO")      
// C# program to check if a number// is Pythagorean prime or notusing System; class GFG{ // Function to check if a number// is prime or notstatic 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;} // Driver Codepublic static void Main(string[] args){    int n = 13;     // Check if number is prime    // and of the form 4n+1    if (isPrime(n) && (n % 4 == 1))    {        Console.WriteLine("YES");    }    else    {        Console.WriteLine("NO");    }}} // This code is contributed by Shrikant13
<?php// PHP program to check if// a number is Pythagorean// prime or not // Function to check if a// number is prime or notfunction 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 = 5; $i * $i <= $n;                 $i = $i + 6)    {        if ($n % $i == 0 or            $n % ($i + 2) == 0)        {            return false;        }    }         return true;} // Driver Code$n = 13; // Check if number is prime// and of the form 4*n+1if (isPrime($n) && ($n % 4 == 1)){    echo "YES";}else{    echo "NO";} // This code is contributed// by inder_verma?>
<script>  // Javascript program to check  if a number is// Pythagorean prime or not // Function to check if a number is// prime or notfunction 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;} // Driver Programvar n = 13;  // Check if number is prime// and of the form 4*n+1if (isPrime(n) && (n % 4 == 1)) {    document.write( "YES");}else {    document.write( "NO");} // This code is contributed by itsok.</script>
YES
 
shrikanth13
inderDuMCA
itsok
number-theory
Prime Number
Mathematical
number-theory
Mathematical
Prime Number
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Algorithm to solve Rubik's Cube
Program to print prime numbers from 1 to N.
Fizz Buzz Implementation
Program to multiply two matrices
Modular multiplicative inverse
Check if a number is Palindrome
Find first and last digits of a number
Count ways to reach the n'th stair
Program to convert a given number to words
Find Union and Intersection of two unsorted arrays