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