Check if a number is a Pythagorean Prime or not in C++

Here we will see another program to check whether a number is Pythagorean Prime or not. Before dive into the logic, let us see what are the Pythagorean Prime numbers? The Pythagorean primes are prime numbers, that can be represented as 4n + 1.

To detect a number is like that, we have to check whether the number is prime or not, if it is prime, then we will divide the number by 4, and if the remainder is 1, then that is Pythagorean prime number. Some Pythagorean prime numbers are {5, 13, 17, 29, 37, 41, 53, …}


 Live Demo

#include <iostream>
using namespace std;
bool isPrime(int n){
   for(int i = 2; i<= n/2; i++){
      if(n % i == 0){
         return false;
   return true;
bool isPythagoreanPrime(int n) {
   if(isPrime(n) && ((n % 4) == 1)){
      return true;
   return false;
int main() {
   int num = 29;
      cout << "The number is Pythagorean Prime";
      cout << "The number is not Pythagorean Prime";


The number is Pythagorean Prime

Updated on: 27-Sep-2019


Kickstart Your Career

Get certified by completing the course

Get Started