Advertisement
Dmaxiya

砍柴 参考代码

Mar 8th, 2025
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.97 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. typedef long long LL;
  5. const int maxn = 100000 + 100;
  6. int T, n, cnt;
  7. int ans[maxn], prime[maxn];
  8. bool vis[maxn];
  9.  
  10. void init(int n) {
  11.     for (int i = 2; i <= n; ++i) {
  12.         if (!vis[i]) {
  13.             prime[cnt++] = i;
  14.         }
  15.         for (int j = 0; j < cnt && i <= n / prime[j]; ++j) {
  16.             int k = i * prime[j];
  17.             vis[k] = true;
  18.             if(i % prime[j] == 0) {
  19.                 break;
  20.             }
  21.         }
  22.     }
  23. }
  24.  
  25. int main() {
  26. #ifdef ExRoc
  27.     freopen("test.txt", "r", stdin);
  28. #endif // ExRoc
  29.     ios::sync_with_stdio(false);
  30.  
  31.     init(maxn - 1);
  32.     for (int i = 2; i < maxn; ++i) {
  33.         for (int j = 0; j < cnt && i >= prime[j]; ++j) {
  34.             if (ans[i - prime[j]] == 0) {
  35.                 ans[i] = 1;
  36.                 break;
  37.             }
  38.         }
  39.     }
  40.     cin >> T;
  41.     while (T--) {
  42.         cin >> n;
  43.         cout << ans[n] << endl;
  44.     }
  45.  
  46.     return 0;
  47. }
  48.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement