【洛谷】 数的划分

数的划分

数的划分

题意

输出一个整数的不同分法

思路

  1. 输入所需值后,将数组初始化
  2. 利用for循环进行递推
  3. 输出结果

坑点

  1. 在for循环中注意i和j的取值
实现步骤

同思路

代码
#include
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;
}
 

总结

需熟练掌握递推

你可能感兴趣的:(算法)