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, …}

Example

 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;
   if(isPythagoreanPrime(num)){
      cout << "The number is Pythagorean Prime";
   }else{
      cout << "The number is not Pythagorean Prime";
   }
}

Output

The number is Pythagorean Prime

Updated on: 27-Sep-2019

570 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements