C/C++ 整数划分问题

将一个正整数n表示成一系列正整数之和,

n=n1+n2+n3+nk(其中,n1>=n2>=>=1,k>=1)

6;

5+1;

4+2,4+1+1;

3+3,3………….

…………..

1+1+1+1+1+1

///

#include
using namespace std;

int split(int n, int m)
{
 if (n == 1 || m == 1)
 {
  return 1;
 }
 if (n < m)
 {
  return split(n, n);
 }
 if (n == m)
 {
  return 1 + split(n, m-1);
 }
 if (n > m)
 {
  return split(n-m, m) + split(n, m-1);
 }
}


int main()
{
 int n,sum=0;

 cin>>n;
 for(int i=1;i<=n-1;i++)
  sum=sum+split(n-i,i);
  cout< return 0;
}

///

 

 

你可能感兴趣的:(技术交流)