C言語古典アルゴリズム(八)--フィボナッチ数列を再帰的に実現する2つの方法

3088 ワード

その後、アルゴリズムを整理し、自分の理解と注釈を書き続けます.C++実装:フィボナッチ数列の再帰実装
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<<" "<"        :>"<