ทีนี้มาดูวิธีการเช็คว่าจำนวนเต็มเป็นจำนวนเฉพาะหรือไม่ มีการกล่าวกันว่าจำนวนเป็นจำนวนเฉพาะเต็ม หากเป็นจำนวนเฉพาะ และตัวเลขทั้งหมดเป็นจำนวนเฉพาะด้วย สมมติว่าจำนวนคือ 37, นี่คือจำนวนเฉพาะเต็มจำนวน แต่ 97 ไม่ใช่จำนวนเฉพาะเต็มเพราะ 9 ไม่ใช่จำนวนเฉพาะ
แนวทางหนึ่งที่มีประสิทธิภาพคือ ก่อนอื่นเราต้องตรวจสอบว่ามีตัวเลขใดที่ไม่ใช่จำนวนเฉพาะหรือไม่ ตัวเลขต้องอยู่ในช่วง 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