#include <stdio.h>
#include <iostream>
using namespace std;
long long FibonacciSequenceFunction(long long *pLongInt, int n)
{
if( pLongInt[n] != 0 )
return pLongInt[n];
else{
pLongInt[n] = FibonacciSequenceFunction(pLongInt, n-2) + FibonacciSequenceFunction(pLongInt, n-1);
return pLongInt[n];//保存数据,消隐此处明显感觉时间不在一个数量级
}
}
long long FibonacciSequence(int n)
{
long long *fstmp = new long long[n];
memset(fstmp, 0, n*sizeof(long long));
fstmp[0] = fstmp[1] = 1;
return FibonacciSequenceFunction(fstmp, n-1) + FibonacciSequenceFunction(fstmp, n-2);
}
void main()
{
int index = -1;
printf("please input one number\n");
while(index < 1)
{
//假设输入正常
cin>>index;
if(index < 0)
printf("please input one positive number \n");
}
if( 0 == index || 1 == index)
{
cout<<"f( "<<index<<" ) = "<<1<<endl;
}
else
{
cout<<"f( "<<index<<" ) = "<<FibonacciSequence(index)<<endl;
}
}
FibonacciSequence
最新推荐文章于 2025-01-20 21:23:21 发布