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++
// 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
// JAVA program to check if a number is// Pythagorean prime or notclass 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"); } }} |
Python3
# 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 Code n = 13 # Check if number is prime # and of the form 4n + 1if(isPrime(n) and (n % 4 == 1)): print("YES")else: print("NO") |
C#
// C# program to check if a number // is Pythagorean prime or not using System;class GFG{// Function to check if a 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;}// Driver Code 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)) { Console.WriteLine("YES"); } else { Console.WriteLine("NO"); }}}// This code is contributed by Shrikant13 |
PHP
<?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?> |
Javascript
<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> |
Output:
YES
Time Complexity: O(sqrt(n))
Auxiliary Space: O(1)
Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



