提交时间:2024-05-05 09:21:45

运行 ID: 145469

#include <bits/stdc++.h> using namespace std; int main() { int n=0,m,prime[333],f[333]; bool b[333]; memset(b,1,sizeof(b)); for (int i=2; i<=200; i++) if (b[i]) { prime[++n]=i; for ( int j = i*i; j<=200; j+=i) b[j] = 0; } cin>>m; memset(f,0,sizeof(f)); f[0]=1; for(int i=1; i<=n; i++) for (int j=prime[i]; j<=m; j++) f[j]+=f[j-prime[i]]; cout<<f[m]<<endl; return 0; }