0
已解决
程之行
高级守护
高级守护
聪聪可被明明出的题目难倒了好一会,不过,经过一番思考,聪聪还是把它解决了。作为回报,聪聪也给明明出了一个问题:平方数,或称完全平方数,是指可以写成某个整数的平方的数,即其平方根为整数的数。例如,9 = 3 × 3,它是一个平方数。聪聪很早就发现4=2×2,9=3×3……。而2不可能分解为两个整数的乘积,但可以分解为1×1+1×1。聪聪曾经遇到过对于任意给定的正整数n把它分解成几个自然数的和的问题,在了解了平方数的知识后,聪聪想知道在所有拆分方案中,满足所有加数都是平方数的方案有多少?
大佬们怎么写
0
已采纳
张曈
高级守护
高级守护
这是一道完全背包,以下是核心
for(int i=1;i*i<=n;i++)
for(int j=i*i;j<=n;j++)
f[j]=max(f[j],f[j-i*i]+i*i);
你还需要一个状态数组进行计数,就不详细说明了
1
0
0
0
0
0