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

C++에서 소수 사이에 숫자가 끼워져 있는지 확인

<시간/>

여기서 우리는 숫자가 소수 사이에 끼어 있는지 여부를 볼 것입니다. 숫자 바로 뒤에 오는 숫자가 소수일 때 소수 사이에 끼어 있고 그 바로 아래에 있는 숫자가 소수일 때 숫자라고 합니다. 이를 해결하려면 n-1과 n+1이 소수인지 확인하십시오.

예시

#include <iostream>
#include <set>
#define N 100005
using namespace std;
bool isPrime(int n) {
   if (n == 0 || n == 1)
      return false;
   for (int i=2;i<=n/2;i++)
      if (n%i == 0)
         return false;
   return true;
}
bool isSanwichedPrime(int n){
   if(isPrime(n - 1) && isPrime(n + 1))
      return true;
   return false;
}
int main() {
   int n = 642;
   if(isSanwichedPrime(n)){
      cout << n << " is Sandwiched between primes: " << n-1 <<" and " << n+1;
   } else {
      cout << n << " is not Sandwiched between primes";
   }
}

출력

642 is Sandwiched between primes: 641 and 643