36 lines
511 B
C++
36 lines
511 B
C++
#include <cstdio>
|
|
#include <cstring>
|
|
#include <iostream>
|
|
#include <cmath>
|
|
#include <cstdlib>
|
|
using namespace std;
|
|
|
|
|
|
int main()
|
|
{
|
|
bool b[300];
|
|
int n,m,i,j,a[300],f[300];
|
|
|
|
memset(b,1,sizeof(b));
|
|
n=0;
|
|
for (i=2;i<=200;i++)
|
|
if (b[i])
|
|
{
|
|
n++; a[n]=i;
|
|
j=i; while (j<=200) { b[j]=0; j+=i; }
|
|
}
|
|
|
|
cin>>m;
|
|
memset(f,0,sizeof(f)); f[0]=1;
|
|
for (i=1;i<=n;i++)
|
|
for (j=a[i];j<=m;j++)
|
|
f[j]+=f[j-a[i]];
|
|
cout<<f[m]<<endl;
|
|
|
|
return 0;
|
|
}
|
|
|
|
|
|
|
|
|
|
|