1. 程式人生 > >整數劃分(遞迴法),這個程式是實現輸出整數的劃分有多少種方法,接下來第二篇會實現級能輸出劃分整數的因子和輸出劃分的種個數方法

整數劃分(遞迴法),這個程式是實現輸出整數的劃分有多少種方法,接下來第二篇會實現級能輸出劃分整數的因子和輸出劃分的種個數方法

#include<iostream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
///5.種情況
/*
@1.當n=1時,q(1,m)=1
@2.當m=1時,q(n,1)=1
@3.當m=n時,q(n,m)=1+q(n,n-1);
@4.當m<n時,q(n,m)=q(n,m-1)+q(n-m,m);
@5.當m>n時,q(n,m)=q(n,n)
*/
int q(int n,int m)
{
  if((n<1)||(m<1))
    
    return 0;
  if((n==1)||(m==1))
    return 1;
  if(m==n)
    return q(n,m-1)+1;
  if(m<n)
    return q(n,m-1)+q(n-m,m);
    return q(n,n);
}
int main()
{
    cout<< q(6,6);
    return 0;
}

執行結果如下: