帮我看看这段代码有啥问题,死活不会出结果!
题目是:计算Tribonaci队列,规则是T(n) = T(n - 1) + T(n - 2) + T(n -3),其中T(0) = T(1) = 1,T(2) = 2。
函数原型:
int Tribonaci(int n) ;
#include<iostream>#include<assert.h>using namespace std;int Tribonaci(int n) { assert(n>=0); if(0==n||1==n) return 1; if(2==n) return 2; int* pi=new int[n]; pi[0]=1,pi[1]=1,pi[2]=2; for(int i=3;i<=n;i++) pi[i]=pi[i-1]+pi[i-2]+pi[i-3]; int m=pi[n]; delete[] pi; pi=NULL; return m;}void main(){ int n=Tribonaci(4); cout<<n<<endl; system("pause");}