Run ID:110121

提交时间:2025-02-14 18:14:27

#include <iostream> #include <cmath> using namespace std; // 判断一个数是否是素数 bool isPrime(int x) { if (x <= 1) return false; if (x == 2) return true; if (x % 2 == 0) return false; for (int i = 3; i <= sqrt(x); i += 2) { if (x % i == 0) return false; } return true; } // 判断一个素数是否是超级素数 bool isSuperPrime(int x) { while (x > 0) { if (!isPrime(x)) return false; x /= 10; // 去掉最后一位数字 } return true; } int main() { int n; cin >> n; int count = 0; for (int i = 2; i <= n; ++i) { if (isPrime(i) && isSuperPrime(i)) { ++count; } } cout << count << endl; return 0; }