在 C++ 中检查数字是否为全素数
c++server side programmingprogramming
在这里我们将看到如何检查数字是否为全素数。如果数字是素数,并且其所有数字也都是素数,则该数字被称为全素数。假设数字是 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 << "该数字为全素数"; } else { cout << "该数字不是全素数"; } }
输出
该数字为全素数"