C言語古典アルゴリズム(八)--フィボナッチ数列を再帰的に実現する2つの方法
3088 ワード
その後、アルゴリズムを整理し、自分の理解と注釈を書き続けます.C++実装:フィボナッチ数列の再帰実装
1、再帰実現フィボナッチ数列Fib(n)<1>題目説明:n値を入力し、第n項のフィボナッチ数列値<2>を解く方法1:概念法<3>方法2:再帰法フィボナッチ数列値は値1 1 1 2 3 8の前の2項の和が次の項である
ソースコード:一、フィボナッチ数列Fib(n)1を再帰的に実現する
2、再帰法
1、再帰実現フィボナッチ数列Fib(n)<1>題目説明:n値を入力し、第n項のフィボナッチ数列値<2>を解く方法1:概念法<3>方法2:再帰法フィボナッチ数列値は値1 1 1 2 3 8の前の2項の和が次の項である
ソースコード:一、フィボナッチ数列Fib(n)1を再帰的に実現する
#include
#include
using namespace std;
unsigned int Fib(unsigned int n)
{
unsigned int fib1 = 1;
unsigned int fib2 = 1;
unsigned int fib;
for(int i=3; i<=n; ++i)//
{
fib = fib1 + fib2;
fib1 = fib2;
fib2 = fib;
}
return fib;
}
void main()
{
unsigned int n;
cout<<" n:";
cin>>n;
cout<<" "<" :>"<
2、再帰法
#include
#include
using namespace std;
unsigned int Fib(unsigned int n)
{
if(n==1 || n==2)
return 1;
else
return Fib(n-1)+Fib(n-2);
}
void main()
{
unsigned int n;
cout<<" n:";
cin>>n;
cout<<" "<" :>"<