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