総旅客ニンニクハノイの塔

(また、ハノイの塔として知られている)ハノイの塔問題は、教育玩具の古代インドの伝説に由来します。梵天は、ポストでの順序に従って6464ゴールドディスクとボトムアップの山から、3つのダイヤモンドの柱を行うために、世界を作成したとき。再び他の柱の上に配置され、下からサイズの順にディスクにブラフマーブラフマンコマンド。そして、所定のディスクは、ディスクがわずか3本の柱の間を移動することができ、小型のディスクに拡大することはできません。


6月ニンニクは現在、ハノイのゲームタワーの再生を開始し、彼は上から下へ、第一の柱の上にディスクnnは金の一部を入れて、番号1-N1-nは、11枚のディスク、ディスクの最大数をNNの最小数されています。6月ニンニクモバイル号II IIディスクがスタミナポイントを取ります。今、ニンニク王は22本の柱の上に、最終的にすべてのディスクを移動したい、ニンニク準君主を移動するプロセスは、ゲームのルールを守らなければなりません。


今、ニンニク6月には、彼の体力と最小限の消費のゲームを完了するために、動きの最小数を知りたいです。


入力フォーマットは、


正の整数N(1 \ルN \ル入力 60)N(1≤n≤60)を金色のディスクの数が表す


出力形式


、出力番号22の行を、それが動きの最小数および最小の物理的消費、中間体を表しますスペースで区切られています。


入力1、サンプル


2
、サンプル出力1


。3. 4
サンプル入力2


。3
サンプル出力2


7 11


する#include <stdio.hに>
する#include <STDLIB.H>
長い長いINT飯能(INT N)。
長い長いINT tili(INT N)。
メイン()がINT
{
    INT nを、
    scanf関数( "%のD"、&N);


 printf( "%のLLD"、飯能(N))。
    printf( "%のLLD"、tili(N))。


    0を返します。
}
長い長いINT飯能(INT N)
{
    IF(N == 1)
    {
        リターン1。
    }
    他の
        リターン(飯能(N-1)* 2 + 1)。
}
長い長いINT tili(INT N)
{
    IF(N == 1)
    {
        リターン1。
    }
    他の
        リターン(tili(N-1)* 2 + N)。

}


1:なお、データタイプ    

2:法則によれば  

发布了19 篇原创文章 · 获赞 8 · 访问量 4148

おすすめ

転載: blog.csdn.net/paohui001lqp/article/details/79459093