2 3 5 4 8
1 2
<span style="font-size:14px;">#include<stdio.h>
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int i,j,k,n,m,s=0;
scanf("%d%d",&n,&m);
for(i=0;i<=m/5;i++)
{
for(j=0;j<=m/2;j++)
{
k=n-i-j;
if(k>=0&&k+2*j+5*i==m)
s++;
}
}
printf("%d\n",s);
}
return 0;
}</span>母函数需要借助二维数组,代码如下:<span style="font-size:14px;">#include<stdio.h>
#include<string.h>
int c1[110][110],c2[110][110];
int main()
{
int i,j,k,l,n,m,t;
scanf("%d",&t);
while(t--)
{
int sum=0;
scanf("%d%d",&n,&m);
memset(c1,0,sizeof(c1));
memset(c2,0,sizeof(c2));
for(i=0;i<=n;i++)
{
c1[i][i]=1;
}
for(i=2;i<=5;i+=3)
{
for(j=0;j<=m;j++)
for(k=0;k*i+j<=m&&k<=n;k++)
{
for(l=0;l+k<=n;l++)
c2[k*i+j][k+l]+=c1[j][l];
}
for(j=0;j<=m;j++)
{
for(k=0;k<=n;k++)
{
c1[j][k]=c2[j][k];
c2[j][k]=0;
}
}
}
printf("%d\n",c1[m][n]);
}
return 0;
}
</span>杭电 2566(母函数 暴力),布布扣,bubuko.com
原文:http://blog.csdn.net/ice_alone/article/details/38491523