汉诺塔系列1_刘da帅气的博客-程序员宅基地

技术标签: 递归  

汉诺塔系列1

Time Limit: 1000MS Memory limit: 65536K

题目描述

n个盘子的汉诺塔问题的最少移动次数是2^n-1,即在移动过程中会产生2^n个系列。由于发生错移产生的系列就增加了,这种错误是放错了柱子,并不会把大盘放到小盘上,即各柱子从下往上的大小仍保持如下关系 :
n=m+p+q
a1>a2>...>am
b1>b2>...>bp
c1>c2>...>cq
计算所有会产生的系列总数。

输入

包含多组数据,首先输入T,表示有T组数据.每个数据一行,是盘子的数目N<30。

输出

对于每组数据,输出移动过程中所有会产生的系列总数。

示例输入

31329

示例输出

32768630377364883

提示

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int  main()
{
    int t;
    scanf("%d", &t);
    while(t--){
        int n;
        scanf("%d", &n);
        long long x;
        x = pow(3,n);
        printf("%lld\n", x);
    }

    return 0;
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_33435265/article/details/50992458

智能推荐

百度地图-删除默认版权信息_AirZH??的博客-程序员宅基地

2019独角兽企业重金招聘Python工程师标准&gt;&gt;&gt; ...

关于java迭代器删除倒数第二个元素不会报错的原因的分析_苦泉的博客-程序员宅基地_checkforcomodification报错

关于java迭代器删除倒数第二个元素不会报错的原因的分析1.前言今天学弟来问我一个问题,在java的迭代器中,利用集合删除时会报错(java.util.ConcurrentModificationException),但是发现在删除倒数第二个元素的时候,就不会报错.我一时也没回答上来,后来查看了源码之后,有所理解,总结形成了这篇博客.2.首先回答为什么删除倒数第二个不会报错如图:我们可以显然发现,在输出框里,只有0,1,2并没有3,那就说明在删除完2之后,在执行hasNext方法的时候,循环结束

tp5第三方支付-支付宝_伊兰特佩斯的博客-程序员宅基地_tp5支付宝支付

返回的html页面"&lt;form id='alipayment' action='/plugins/alipay/pagepay/pagepay.php' method='post' style='display:none'&gt; &lt;input id='WIDout_trade_no' name='WIDout_trade_no' value='订单ID'/&gt; &lt;input id='WIDsubject' name='WIDsubject' value='' /&...

内存管理_糖果屋的世界的博客-程序员宅基地

【内存管理是做什么事情的】1.就是把代码中程序员自己开辟的空间释放掉 内存4个区域【栈区、堆区(程序员自己操控)、数据区、代码区】【问题】 【这里的空间都是堆空间】 1.多次释放一个空间【重复释放】 2.过早释放空间【提前释放】 3.空间开辟没有释放【内存泄露】【困难】 1.一个堆空间必须等所以使用这个空间的指针使用完毕之后才可以释放 2.一个对空间的释放必须确定哪些指针指向这个空间,

巧用 CSS 实现华为酷炫的充电动画_isNealyang的博客-程序员宅基地

循序渐进,看看只使用 CSS ,可以鼓捣出什么样的充电动画效果。画个电池 当然,电池充电,首先得用 CSS 画一个电池,这个不难,随便整一个:欧了,勉强就是它了。有了电池,那接下来直接充...

Android图片添加阴影效果的两种方式_ZhangJiQun&MXP的博客-程序员宅基地_glide设置图片阴影

&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt;&amp;lt;layer-list xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;&amp;gt; &amp;lt;!-- 阴影图片,android:left表示阴影图片左边到背景图片左边的距离 android:top表示阴影图片上边到背景图片上边的距离--&amp;..

随便推点

用python和opencv来测量目标到相机的距离_用 Python 和 OpenCV 来测量相机到目标的距离..._weixin_39854730的博客-程序员宅基地

原标题:用 Python 和 OpenCV 来测量相机到目标的距离几天前,一个叫 Cameron 的 PyImageSearch 读者发来邮件询问摄像头测距的方法。他花了一些时间研究,但是没有找到解决办法。我很能体会 Cameron 的感受。几年前我做过一个分析棒球离手飞向本垒的运动的小项目。我通过使用运动分析和基于轨迹的跟踪方法来确定或者估计小球在视频帧中的位置。并且因为棒球的大小是已知的,所以...

线程同步&线程池_Gypsophila00的博客-程序员宅基地_同步线程池

线程同步:即当有一个线程在对内存进行操作时,其他线程都不可以对这个内存地址进行操作,直到该线程完成操作, 其他线程才能对该内存地址进行操作,而其他线程又处于等待状态,实现线程同步的方法有很多,临界区对象就是其中一种。在一般情况下,创建一个线程是不能提高程序的执行效率的,所以要创建多个线程。但是多个线程同时运行的时候可能调用线程函数,在多个线程同时对同一个内存地址进行写入,由于CPU时间调度上的问...

window 安装Storm_love87825315的博客-程序员宅基地

window 安装Storm安装部署JDK 1.7+Python 2.6.6+Zookeeper Storm 下载最新安装包http://storm.apache.org/downloads.html 本文以apache-storm-1.0.2.zip为例,解压到 D:\apache-storm-1.0.2 (注意:安装目录不能有空格);配置         ...

可拖动进度条的实现_广州第22号吴彦祖的博客-程序员宅基地

可拖动进度条的实现大家好,今天工作不忙 分享一个简单的进度条案例.希望有需要的小伙伴可以看到.思路不一定是最好的.但绝对适合初学者首先 进度条的功能,你需要知道 进度条拖动前后 一共触发了3个事件即:1.鼠标按下事件2.鼠标拖动事件3.鼠标抬起事件其次 他的拖动原理是 通过计算当前拖动的坐标位置 减去进度条盒子到视口的距离.最后把进度条按钮 进行相应距离的偏移即 偏移的距离=鼠标当前的坐标-盒子到窗口边缘的距离;​ 然后 元素本身.css( ‘左或右’, 偏移的距离+‘px’

c语言32位下载,C语言,32位机与64位机的字长_知点教育李老师的博客-程序员宅基地

C语言,32位机与64位机的字长字长是与具体的计算机平台相关的,如 8086 ~ 80286 的 16bits,i386 平台的 32bits,以及 x86-64 的 64bits 等等。因此,所谓“一个字(word)”在不同平台上代表不同的数据位数,传统的微型计算机教科书是基于16位机的,因此 1word = 16bits ,然而32位机上 1word = 32bits !x86-64 上的gc...

yield方法释放锁吗_C++并发编程(C++11到C++17)_没名字的女人的博客-程序员宅基地

为什么要并发编程大型的软件项目常常包含非常多的任务需要处理。例如:对于大量数据的数据流处理,或者是包含复杂GUI界面的应用程序。如果将所有的任务都以串行的方式执行,则整个系统的效率将会非常低下,应用程序的用户体验会非常的差。另一方面,自上个世纪六七十年代英特尔创始人之一 Gordon Moore 提出 摩尔定义 以来,CPU频率以每18个月翻一番的指数速度增长。但这一增长在最近的十年已经基本停滞,...

推荐文章

热门文章

相关标签