Files
contests/misc/hsg-hp-2025/cbai2.cpp

51 lines
758 B
C++

#include <bits/stdc++.h>
using namespace std;
const int max_n = 1e7;
char is_prime[max_n + 1];
void sieve() {
for (int i = 0; i <= max_n; i++)
is_prime[i] = 1;
is_prime[0] = 0;
is_prime[1] = 0;
// 2 check
for (int i = 4; i <= max_n; i += 2)
is_prime[i] = 0;
// other
for (int i = 3; i * i <= max_n; i += 2)
if (is_prime[i])
for (int j = i * i; j <= max_n; j += i)
is_prime[j] = 0;
}
int solve() {
int n;
cin >> n;
if (!is_prime[n])
return 0;
int digit_sum = 0;
while (n) {
digit_sum += n % 10;
n /= 10;
}
if (!is_prime[digit_sum])
return 0;
return 1;
}
int main() {
sieve();
int q;
cin >> q;
int res = 0;
while (q--) {
res += solve();
}
cout << res << "\n";
}