您的位置:首页 > 其它

整数划分的递归实现算法

2017-05-01 01:14 246 查看
输入:输入整数划分的整数(只输入一次,即n==m)。

输出:输入整数的划分个数值。

示例:输入:7,输出:15

q(n,m)的如下递归关系定义如下:

正整数n的划分数p(n)=q(n,n)。



#include <iostream>
using namespace std;
int q(int n,int m)
{
if (n==1||m==1)
{
return 1;
}
if (n<m)
{
return q(n,n);
}
if (n==m)
{
return 1 + q(n,n-1);
}
if (n>m&&n>1&&m>1)
{
return q(n, m - 1) + q(n-m,m);
}
}
int main()
{
int n;
cin >> n;
int m = n;
int c = q(n, m);
cout << c;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: