Computer >> Máy Tính >  >> Lập trình >> C ++

Kiểm tra xem một số có bị kẹp giữa các số nguyên tố trong C ++ hay không

Ở đây chúng ta sẽ xem liệu một số có bị kẹp giữa các số nguyên tố hay không. Một số được cho là kẹp giữa các số nguyên tố khi số ngay sau nó và ngay bên dưới nó là các số nguyên tố. Để giải quyết vấn đề này, hãy kiểm tra xem n-1 và n + 1 có phải là số nguyên tố hay không.

Ví dụ

#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";
   }
}

Đầu ra

642 is Sandwiched between primes: 641 and 643