void inint ()
{
//num用z个表示的方法数就是 (num-一个平方数)用z-1个表示的数量之和
dp[0][0] = 1;
for ( int i = 1; i * i <= maxn; i++ ) {//
for ( int j = i * i; j <= maxn; j++ ) {
for ( int z = 1; z <= 4; z++ ) {
dp[j][z] += dp[j - i * i][z - 1];
}
}
}
}
为什么先循环平方数i 再循环整数j而不能先循环j后循环i??