2012-08-03

SCIP in C++11 ― 1.2節 その3


Pascal三角形:問題1.12

----
const unsigned int pascalElement
(const unsigned int totalOrder, const unsigned int order)
{
    if(0==order || totalOrder==order){
        return(1);
    }
    return(pascalElement(totalOrder-1,order-1)+pascalElement(totalOrder-1,order));
}

int main(int argc, char** argv)
{
    const unsigned int totalOrderMax(10);
    for(auto totalOrder=0U;totalOrder<totalOrderMax;++totalOrder){
        for(auto order=0U;order<totalOrder+1;++order){
            cout<<pascalElement(totalOrder,order)<<" ";
        }
        cout<<endl;
    }

    return(0);
}
----
出力
----
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1

0 件のコメント :

コメントを投稿