1. 程式人生 > >hdu 2189 悼念512汶川大地震遇難同胞——來生一起走 (母函式)

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;
}