여기서 우리는 숫자가 피타고라스 소수인지 여부를 확인하는 또 다른 프로그램을 볼 것입니다. 논리를 살펴보기 전에 피타고라스의 소수가 무엇인지 볼까요? 피타고라스 소수는 4n + 1로 나타낼 수 있는 소수입니다.
수를 검출하려면 그 수가 소수인지 아닌지를 확인해야 하고, 소수이면 그 수를 4로 나누고 나머지가 1이면 피타고라스 소수입니다. 일부 피타고라스 소수는 {5, 13, 17, 29, 37, 41, 53, …}
예시
#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"; } }
출력
The number is Pythagorean Prime