Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 숫자가 Full Prime인지 확인

<시간/>

여기에서 숫자가 완전 소수인지 여부를 확인하는 방법을 살펴보겠습니다. 숫자가 소수이고 모든 자릿수도 소수인 경우 전체 소수라고 합니다. 숫자가 37이라고 가정하면 이것은 완전 소수입니다. 그러나 9는 소수가 아니므로 97은 완전한 소수가 아닙니다.

한 가지 효율적인 접근 방식은 다음과 같습니다. 먼저 소수가 아닌 숫자가 있는지 확인해야 합니다. 숫자는 0에서 9 사이여야 합니다. 해당 범위에서 2, 3, 5, 7은 소수이고 나머지는 소수가 아닙니다. 모두 소수이면 소수인지 아닌지 확인하십시오.

예시

#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 isDigitPrime(int n) {
   int temp = n, digit;
   while(temp){
      digit = temp % 10;
      if(digit != 2 && digit != 3 && digit != 5 && digit != 7){
         return false;
      }
      temp = temp / 10;
   }
   return true;
}
bool isFullPrime(int n){
   return (isDigitPrime(n) && isPrime(n));
}
int main() {
   int num = 37;
   if(isFullPrime(num)){
      cout << "The number is Full Prime";
   } else {
      cout << "The number is not Full Prime";
   }
}

출력

The number is Full Prime