여기서 우리는 숫자가 피타고라스 소수인지 여부를 확인하는 또 다른 프로그램을 볼 것입니다. 논리를 살펴보기 전에 피타고라스의 소수가 무엇인지 볼까요? 피타고라스 소수는 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