一个关于素数的问题,纠缠了我很久,真是自己水的不行啊,梦想何时实现啊!!!!!!!
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define maxn 150
int prime[maxn];
void is_prime()
{
int i,j;
prime[1]=1;
for(i=2;i<=maxn;i++)
prime[i]=0;
for(i=2;i<=maxn;i++)
{
if(prime[i]==0)
{
for(j=i+i;j<=maxn;j=i+j)
{
prime[j]=1;
}
}
}
}
int main()
{
int n,a,i,j,s[199];
is_prime();
memset(s,0,sizeof(s));
s[0]=1;
for(i=2;i<151;i++)
{
if(!prime[i])
{
for(j=i;j<151;j++)
{
s[j]+=s[j-i];
}
}
}
scanf("%d",&n);
while(n--)
{
scanf("%d",&a);
printf("%d\n",s[a]);
}
return 0;
}