Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ตรวจสอบว่าตัวเลขเป็น Full Prime ใน C++ . หรือไม่


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