Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
1019 关清声 超级素数 C++ Accepted 0 MS 272 KB 902 2023-06-24 10:32:26

Tests(10/10):


Code:

#include<iostream> #include<cmath> using namespace std; // 判断一个数是否为质数 bool isPrime(int n) { if (n <= 1) { return false; } int limit = sqrt(n); for (int i = 2; i <= limit; i++) { if (n % i == 0) { return false; } } return true; } // 判断一个数是否为超级素数 bool isSuperPrime(int n) { if (!isPrime(n)) { return false; } int len = log10(n) + 1; // 计算n的位数 for (int i = 1; i < len; i++) { int m = n / pow(10, i); // 去掉最后i位 if (!isPrime(m)) { return false; } } return true; } int main() { int n; cin >> n; int count = 0; for (int i = 2; i <= n; i++) { if (isSuperPrime(i)) { count++; } } cout << count << endl; return 0; }