?? 整數劃分問題的遞歸算法.cpp
字號:
//整數劃分問題的遞歸算法
#include <iostream.h>
int k=0,t[100];
int q(int n,int m)
{
int x,i;
if(n<1 || m<1) return 0;
if(n<m)
{
t[k]=n;
return q(n,n);
}
if(n==m)
{
cout<<t[0];
for(i=1;i<=k;i++) cout<<"+"<<t[i];
cout<<endl;
return q(n,n-1)+1;
}
t[k]=m;
t[++k]=m;
x=q(n-m,m);
t[--k]=m-1;
x+=q(n,m-1);
return x;
}
void main()
{
int n=0;
cout<<"請輸入1個正整數n: ";
while(n<1) cin>>n;
t[k]=n;
cout<<"p("<<n<<")="<<q(n,n)<<endl;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -