フィボナッチの数列が再帰的にC++を転送して実現します。

8318 ワード

========================================================================================================================
本文はオリジナルで、転載は作者と出典を明記してください。そして文章の完全性を保証します。
本文は不定期的に修正し、内容が正しいことを保証するために、原文のところに移動して読むことを提案します。
本論文のリンク:http://www.cnblogs.com/wlsandwho/p/4205524.html
=========================================================================================================================
暇があったら、仕事をしたくないです。ホームページを使って、めちゃくちゃなものを見たら、知らず知らず知らずに広がってしまいます。この悪い癖は直せなくなりました。
=========================================================================================================================
ついでにコードを書いて、簡単なような気がしますが、脱退条件は「1」ですか?それとも「2」ですか?「=」ですか?それとも「<」ですか?ところが卵が痛いです。
人は年を取ったら、多く頭を使いたくないです。自分で導き出せばいいです。私の下のコードはコンパイルによって調整して確定しました。大丈夫です。
いつか現場で紙に書いてもらったら、エビを捕まえます。
=========================================================================================================================
理論するなら、自分で「データ構造とアルゴリズム分析c言語記述」と「アルゴリズム導論」を読んでください。コードを貼りますので、ツッコミを入れないでください。
=========================================================================================================================
再帰する
 1 #include <Windows.h>
 2 #include <iostream>
 3 
 4 using namespace  std;
 5 
 6 LONG Fibonacci(LONG lN)
 7 {
 8     if (lN<2)
 9     {
10         return lN;
11     }
12 
13     return Fibonacci(lN-1)+Fibonacci(lN-2);
14 }
15 
16 int main()
17 {
18     LONG lS=Fibonacci(40);
19 
20     return 0;
21 }
最後に再帰する
 1 #include <Windows.h>
 2 #include <iostream>
 3 
 4 using namespace  std;
 5 
 6 LONG Fibonacci(LONG lN,LONG lA=1,LONG lB=1)
 7 {
 8     if (lN==2||lN==1)
 9     {
10         return lB;
11     }
12 
13     return Fibonacci(lN-1,lB,lA+lB);
14 }
15 
16 int main()
17 {
18     LONG lS=Fibonacci(40);
19 
20     return 0;
21 }
さしあげる
 1 #include <Windows.h>
 2 #include <iostream>
 3 
 4 using namespace  std;
 5 
 6 LONG Fibonacci(LONG lN)
 7 {
 8     LONG lS=1;
 9     LONG lA=1;
10     LONG lB=1;
11 
12     for (LONG lCount=3;lCount<=lN;lCount++)
13     {
14         lS=lA+lB;
15         lA=lB;
16         lB=lS;
17     }
18 
19     return lS;
20 }
21 
22 int main()
23 {
24     LONG lS=Fibonacci(40);
25 
26     return 0;
27 }