读书人

哪位高手能给小弟我解释一上这个题(母

发布时间: 2012-09-29 10:30:01 作者: rapoo

谁能给我解释一下这个题(母函数)
[code=C/C++][/code]//HDOJ_1398 Square Coins
//变化一点点,灵活多多多

int main(void)
{int n,i,j,k;
int elem[17]={1,4,9,16,25,36,…,169,196,225,256,289}
while (cin>>n && n!=0)
{for (i=0;i<=n;i++)
{c1[i]=1;c2[i]=0;}
for (i=2; i<=17; i++)
{for (j=0;j<=n;j++)
for (k=0;k+j<=n; k+=elem[i-1] )
{c2[j+k]+=c1[j];}
for (j=0;j<=n;j++)
{c1[j]=c2[j];c2[j]=0;}
}
cout<<c1[n]<<endl;
}
return 0;
}
节食一下那三个for循环,给跪啦!

[解决办法]
不能从代码来解释,要从数学角度来解释,你要是懂母函数的数学过程你自然就懂了,
http://blog.csdn.net/qq258513813/article/details/6269615
推荐看看这篇文章,我当年就是看着这篇学会母函数的,普通母函数还是很好懂的的。

读书人网 >C++

热点推荐