トリッキーコードネット トップへ戻る   C/C++, Java, Perl, PHP, JavaScript, アルゴリズム, ショートコーディング, IOCCCコードの解説, 等々

サイト情報

トリッキーなコード

7行プログラミング

物凄いコード集

アルゴリズム

データ構造

C/C++な話題

コードサンプル

ツール/環境構築

開発ノウハウ 等

ネタ/ジョーク集

おススメ書籍/サイト

サイトTOP >> トリッキーなコード >> フィボナッチ数列から学ぶTemplate活用術 (C++)

Templateでフィボナッチ数列を求める裏技 (C++)

C++において、Templateを使用しフィボナッチ数列を求める方法です。^^;)

template<unsigned N> struct Fib
{
    enum
    {
        Val = Fib<N - 1>::Val + Fib<N - 2>::Val
    };
};

template<> struct Fib<0> { enum { Val = 0 }; };
template<> struct Fib<1> { enum { Val = 1 }; };

C++コード例

#include <iostream>
using namespace std;

template<unsigned N> struct Fib
{
    enum
    {
        Val = Fib<N - 1>::Val + Fib<N - 2>::Val
    };
};

template<> struct Fib<0> { enum { Val = 0 }; };
template<> struct Fib<1> { enum { Val = 1 }; };


int main()
{
    cout << Fib<10>::Val << endl;
    return 0;
}
結果は以下の通り~~。 C++Templateでフィボナッチ数列 (※フィボナッチ数列の10番目の値は、55です。) :.:.:.:.:.:.:.lヽ:,}`ヽ、:.:i,ヾ\:.:.:.l ト`丶:ヽ:.:.:l'、:丶 :.:.:.:.:.:.i:l V,==≧、、 、\l _∠^N:.ト:.l \! :.:.:.:.::::}' / ,r''"でi)ヾ''='  ケr。ヽ !:.:l ゙i! :::,':::::::l   {,     ノ   ヽ二ノ i,jリ :::、:::::::l   ` ‐ '' "      丶、 V rュ:::::::l              / ', f-う、::::',              '^ ' 、 ', うおっ、まぶしっ!  「(ヽ:トi        , ――---r' l ', ヽ ヽゝ      /_,,.. -―、‐f  ,' ::\`" 〉     (~´: : : , -┴' / 、::::::ゝ‐' ',      `'‐ '"´ ,,..::'  / >ぅ-y'  '、            ,' ,r‐ァ'   丶、、          !   {,      `` -- 、、_,ノ   丶          人 いや~~、これはホント面白い技だなぁと思いました^^;) フィボナッチ数列自体は、まぁ正直どうでも良いんですが(笑)、 Templateの活用法は、まさに目からウロコ。    。 。   / / ポーン! ( Д ) 物理計算のエンジンを記述する等に、とても役立ちそうです。
         このエントリーをはてなブックマークに追加   


作業効率化・ライフハックのオススメ記事




コンピュータ・テクノロジーのオススメ記事





恋愛・人間関係のオススメ記事




※ 当サイトは、トップページからリンクで辿る事の出来るページに限り、リンクフリーです。
※ 当サイトの閲覧/利用によって生じた如何なる損害も、当サイト管理人は責任を負いません。
※ 当サイトの内容を転載される場合は、当サイトへのリンクをお願い致します。