hdu 2189 悼念512汶川大地震遇难同胞——来生一起走 (母函数)

题目链接

妈妈
你别哭
泪光照亮不了
我们的路
让我们自己
慢慢的走

妈妈
我会记住你和爸爸的模样
记住我们的约定
来生一起走

加油,中国!

#include"stdio.h"
#include"math.h"
int prime[100],cnt;
void fun()
{
	int i,j,k,flag;
	cnt=0;
	for(i=2;i<=150;i++)
	{
		k=sqrt(i);
		flag=1;
		for(j=2;j<=k;j++)
		{
			if(i%j==0)
			{
				flag=0;break;
			}
		}
		if(flag)
			prime[cnt++]=i;
	}
}
int main()
{
	int T,i,j,k,ans,n;
	int c1[151],c2[151];
	fun();
	for(i=0;i<=150;i++)
		c1[i]=c2[i]=0;
	c1[0]=1;
	for(i=0;i<cnt;i++)
	{
		for(j=0;j<=150;j++)
		{
			for(k=0;j+k<=150;k+=prime[i])
				c2[j+k]+=c1[j];
		}
		for(j=0;j<=150;j++)
		{
			c1[j]=c2[j];c2[j]=0;
		}
	}
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d",&n);
		printf("%d\n",c1[n]);
	}
	return 0;
}



你可能感兴趣的:(hdu 2189 悼念512汶川大地震遇难同胞——来生一起走 (母函数))