挺简单,生成素数表之后建个全素数的vector,然后。。随便玩咯
#include <iostream> #include <stdio.h> #include <string> #include <stack> #include <map> #include <vector> #include <algorithm> using namespace std; ]; void primes() { memset(prime, true, sizeof(prime)); ; i < ; i++) if (prime[i]) ; j * i < ; ++j) prime[i*j] = false; } int main() { primes(); int n; vector<int> S; ; i < ; ++i) if (prime[i]) S.push_back(i); while (cin >> n && n) { ; ; S[i] <= n; ++i) { ; int cur = i; while (sum <= n) { if (sum == n) { ans++; break; } else { sum += S[cur]; cur++; } } } cout << ans << endl; } ; }