#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <iostream>
#include <algorithm>
#include <queue>
#define PI 3.1415926535897932384626433832795
using namespace std;
int val[17]={1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289};
int num0[500],num1[500];
int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
int n,i,j,k;
while(scanf("%d",&n),n)
{
for(i=0;i<=n;i++)
{
num0[i]=1;
num1[i]=0;
}
for(i=1;i<=16;i++)
{
for(j=0;j<=n;j++)
{
for(k=0;j+k<=n;k+=val[i])
{
num1[k+j]+=num0[j];
// printf("%d ",k+j);
}
// printf("\n");
}
for(j=0;j<=n;j++)
{
num0[j]=num1[j];
num1[j]=0;
//printf("%d ",num0[j]);
}
// printf("\n");
}
printf("%d\n",num0[n]);
}
return 0;
}
Square Coins
最新推荐文章于 2022-05-03 21:36:52 发布