数的划分
题意
输出一个整数的不同分法
思路
- 输入所需值后,将数组初始化
- 利用for循环进行递推
- 输出结果
坑点
- 在for循环中注意i和j的取值
实现步骤
同思路
代码
#include<iostream>
using namespace std;
int main(){
int n,k;
cin>>n>>k;
int f[210][10];
for(int i=1;i<=n;i++)
{
f[i][1]=1;
}
for(int i=1;i<=n;i++)
{
for(int j=2;j<=k;j++)
{
if(i>=j)
{
f[i][j]=f[i-1][j-1]+f[i-j][j];
}
}
}
cout<<f[n][k]<<endl;
return 0;
}
总结
需熟练掌握递推