有谁能帮帮我。。。
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int n, p;
int prime[201];
int dp[201];
bool isprime[201];
void is_prime(int n) {
for (int i = 2; i <= n; i++) {
if (isprime[i] == 0) prime[++p] = i;
for (int j = 1; j <= p && i * prime[j] <= n; j++) {
isprime[i * prime[j]] = 1;
if (i % prime[j]) break;
}
}
}
int main() {
is_prime(200);
dp[0] = 1;
for (int i = 1; i <= p; i++) {
for (int j = prime[i]; j <= 200; j++) {
dp[j] += dp[j - prime[i]];
}
}
while (cin >> n) {
cout << dp[n] << '\n';
}
return 0;
}