检查在 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

更新于: 27-Sep-2019

278 浏览次数

开启你的 职业生涯

完成课程获得认证

开始
广告