1028 数的计算
我表示我没有看懂这个题
如果以4为例子的话,我们可以列举以下的数据
4前面可以跟上1,2组成14,24
14跟不了,24可以跟上1组成124
再加上4本身就可以得到4的种类
即 14,24,124,4
那么我们将一系列的都加上来看一下
因为像这种数论其实没有什么,就是推公式
f[1]=1
f[2]=2=f[1]+1
f[3]=2=f[1]+1
f[4]=4=f[1]+f[2]+1
f[5]=4=f[1]+f[2]+1
这个一无例外就是加的本身,前面所搞得就是根据奇偶的关系了
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<cstring>
#include<string>
using namespace std;
int n;
int f[1010];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=i/2;j++)//奇偶数的叠加
{
f[i]+=f[j];
}
f[i]++; //自己本身的算法
}
cout<<f[n];//输出n的分割种类
return 0;
}
博客探讨了一种计算数的分割种类问题,通过递归的方式推导公式,并给出C++代码实现。以4为例,解释了如何计算14, 24, 124等组合,并展示了一个简单的递归函数f[n]来计算n的分割种类。
344

被折叠的 条评论
为什么被折叠?



