[算法]正整数划分
Posted tailiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[算法]正整数划分相关的知识,希望对你有一定的参考价值。
#include <iostream>
#include <cmath>
using namespace std;
//正整数划分
//最主要根据题目意思写出递归式
//未输出划分的具体过程
/*
6;
5+1;
4+2,4+1+1;
3+3,3+2+1,3+1+1+1;
2+2+2,2+2+1+1,2+1+1+1+1;
1+1+1+1+1+1
*/
static int q(int n, int m)
{
if (n < 1 || m < 1)
{
return 0;
}
if (n==1 || m==1)
{
return 1;
}
if (n<m)
{
return q(n, n);
}
if (n==m)
{
return 1 + q(n, n - 1);
}
//n>m>1:
return q(n, m - 1) + q(n - m, m);
}
int main()
{
cout<<q(6, 6)<<endl;//11
cout << "hello world" << endl;
return 0;
}
以上是关于[算法]正整数划分的主要内容,如果未能解决你的问题,请参考以下文章