0
点赞
收藏
分享

微信扫一扫

[宁波24届]平方数

大自然在召唤 2024-11-18 阅读 15

题目描述

珍珍学习乘法时,发现4=2*2,9=3*3, ⋯, 而2 不可能分解为二个整数的乘积,但可以分解为1*1+1*1 。她想知道对任意的正整数n,把它分解为几个整数与自身相乘之和,有多少种方案呢?

输入

只有一行,该行只有一个正整数n 。

输出

只有一行,该行只有一个正整数,表示总方案数。

样例输入

4

样例输出

2
/*
【样例说明】
4 有2 种分解方案,它们是:
4=1*1+1*1+1*1+1*1
=2*2
13 有6 种分解方案,它们是:
13=1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1
=1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+2*2
=1*1+1*1+1*1+1*1+1*1+2*2+2*2
=1*1+1*1+1*1+1*1+3*3
=1*1+2*2+2*2+2*2

=2*2+3*3

【数据限制】30% 的数据, 1≤n≤10;
80% 的数据, 1≤ n≤300;
100% 的数据, 1≤ n≤800 。
*/
#include<bits/stdc++.h>
using namespace std;
long long m,f[100][2020];
int main(){
    cin>>m;
    f[0][0]=1;
    for(int i=1;i<=81;i++){
        for(int j=0;j<=m;j++){
            for(int k=0;k*i*i<=j;k++){
                f[i][j]+=f[i-1][j-i*i*k];
            }
        }
    }cout<<f[80][m]<<endl;
}
举报

相关推荐

0 条评论