小さな4歳からのDOE DOEの学生年、プレス法、メスの最初のn個の数:再帰的にこの問題を解決しますか?


>>何気なくいじめいじめの
再帰的な思考大きな頭を保持している問題はない学生?多くの本が唯一の再帰的なロジックの概念と操作を紹介し、それが迅速かつ効率的にこれらの問題を解決する方法を教え、そしてより多くの不十分されません、私を修正してください。

分析>>
1.再帰的思考:外側から内側へ、枝から根まで、1からnまで。
パラメータを2見つける:シリーズ全体がここに、すべての層を再帰このパラメータは明らかである:N-
3.法が見つかりました:間の結合、それにそれぞれ一つ以上の内層(または特定の内層内の...):ここ年間ウサギの数の変化とn法を見つけるために、比較表を行います。きちんと列挙それぞれを配置するという考えをしたときは、自然の法則を発表しました。

>>ソリューション
1は、以下が挙げられる:
nは、ウサギの合計数を表しにF(n)が対応
し、N年間表し、ウサギ年[0]歳の赤ちゃんを持っていた最初の年[4]、その結果、F(1 )= 2
括弧内の数字は、ウサギの数、年齢の内部デジタル表現を表します

 

2.比較:

算術として最初の4年、
第4年の差は年々増加しており、その差は最初の4年間の増分値との差である。
増分で第4年の差をより速く毎年、差を4年に等しい第2の増分値。

3.置換
フロントウサギ数fの()の最後のFの組み合わせによって表される()と第2列式
置換の左から右へ図
得られた:F(N)= F( N - 1)+ F(N - 4 )、 完璧な再帰関数、良い学校の数学と皆そう!
この文書では、テーブルです

4.C ++コード:

#include <iostreamの>
 使用して 名前空間STD; 

INT FUNC(INT A)
{ 
    戻り A <= 4である。(A +?1):FUNC(A - 1)+ FUNC(A - 4 ); 
} 
int型のmain()
{ 
    int型N- ; 
    coutの << " 番号を入力してください:" ; 
    cinを >> N-; 
    coutの << " 最初" <<のn - << " があった" FUNC(n-は)<< << " ウサギ"<< てendl;
    リターン 0 ; 
}

 

----------------
免責事項:この記事はCSDNブロガーである「DDman&#038;」のオリジナル記事で、BY-SAの著作権契約CC 4.0に従って、再現し、元のソースと、このリンクを添付してください声明。
オリジナルリンクします。https://blog.csdn.net/weixin_45398308/article/details/102989242

おすすめ

転載: www.cnblogs.com/huigebj/p/12442851.html