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