ที่นี่เราจะดูว่าตัวเลขถูกประกบระหว่างจำนวนเฉพาะหรือไม่ มีการกล่าวว่าตัวเลขคั่นกลางระหว่างจำนวนเฉพาะเมื่อตัวเลขอยู่ข้างหลัง และด้านล่างเป็นจำนวนเฉพาะ ในการแก้ปัญหานี้ ให้ตรวจสอบว่า 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