图解:

代码实现:
#include <iostream>
using namespace std;
//递归实现:
long long Fibonacci(int n)
{
if (n <= 0)
{
return 0;
}
if (n == 1)
{
return 1;
}
return Fibonacci(n-1)+Fibonacci(n-2);
}
//循环实现:
long long Fibonacci_round(int n)
{
long long fib_data1 = 0;
long long fib_data2 = 1;
if (n <= 0)
{
return fib_data1;
}
if (n == 1)
{
return fib_data2;
}
long long fib_sum = 0;
for (int i = 2; i<=n; ++i)
{
fib_sum = fib_data1+fib_data2;
fib_data1 = fib_data2;
fib_data2 = fib_sum;
}
return fib_sum;
}
int main()
{
//递归实现测试用例:
cout<<"递归实现斐波那契数列:"<<endl;
//功能测试:斐波那契数列第3项;
int n1 = 3;
cout<<"斐波那契数列第"<<n1<<"项值为: "<<Fibonacci(n1)<<endl;
//功能测试:斐波那契数列第5项;
int n2 = 5;
cout<<"斐波那契数列第"<<n2<<"项值为: "<<Fibonacci(n2)<<endl;
//功能测试:斐波那契数列第10项;
int n3 = 10;
cout<<"斐波那契数列第"<<n3<<"项值为: "<<Fibonacci(n3)<<endl;
//边界值测试:斐波那契数列第0项;
int n4 = 0;
cout<<"斐波那契数列第"<<n4<<"项值为: "<<Fibonacci(n4)<<endl;
//边界值测试:斐波那契数列第1项;
int n5 = 1;
cout<<"斐波那契数列第"<<n5<<"项值为: "<<Fibonacci(n5)<<endl;
//边界值测试:斐波那契数列第2项;
int n6 = 2;
cout<<"斐波那契数列第"<<n6<<"项值为: "<<Fibonacci(n6)<<endl;
//性能测试:斐波那契数列第40项;
int n7 = 40;
cout<<"斐波那契数列第"<<n7<<"项值为: "<<Fibonacci(n7)<<endl;
//性能测试:斐波那契数列第50项;
int n8 = 50;
cout<<"斐波那契数列第"<<n8<<"项值为: "<<Fibonacci(n8)<<endl;
//性能测试:斐波那契数列第100项;
int n9 = 100;
cout<<"斐波那契数列第"<<n9<<"项值为: "<<Fibonacci(n9)<<endl;
//循环实现测试用例:
cout<<endl<<endl<<"循环实现斐波那契数列:"<<endl;
//功能测试:斐波那契数列第3项;
int n_1 = 3;
cout<<"斐波那契数列第"<<n_1<<"项值为: "<<Fibonacci_round(n_1)<<endl;
//功能测试:斐波那契数列第5项;
int n_2 = 5;
cout<<"斐波那契数列第"<<n_2<<"项值为: "<<Fibonacci_round(n_2)<<endl;
//功能测试:斐波那契数列第10项;
int n_3 = 10;
cout<<"斐波那契数列第"<<n_3<<"项值为: "<<Fibonacci_round(n_3)<<endl;
//边界值测试:斐波那契数列第0项;
int n_4 = 0;
cout<<"斐波那契数列第"<<n_4<<"项值为: "<<Fibonacci_round(n_4)<<endl;
//边界值测试:斐波那契数列第1项;
int n_5 = 1;
cout<<"斐波那契数列第"<<n_5<<"项值为: "<<Fibonacci_round(n_5)<<endl;
//边界值测试:斐波那契数列第2项;
int n_6 = 2;
cout<<"斐波那契数列第"<<n_6<<"项值为: "<<Fibonacci_round(n_6)<<endl;
//性能测试:斐波那契数列第40项;
int n_7 = 40;
cout<<"斐波那契数列第"<<n_7<<"项值为: "<<Fibonacci_round(n_7)<<endl;
//性能测试:斐波那契数列第50项;
int n_8 = 50;
cout<<"斐波那契数列第"<<n_8<<"项值为: "<<Fibonacci_round(n_8)<<endl;
//性能测试:斐波那契数列第100项;
int n_9 = 100;
cout<<"斐波那契数列第"<<n_9<<"项值为: "<<Fibonacci_round(n_9)<<endl;
return 0;
}
1万+



被折叠的 条评论
为什么被折叠?



