hdu 2064 经典递归!!!!每次移动一定是移到中间杆或从中间移出

汉诺塔是一种生活中的游戏,从现实生活的角度考虑,逐层的递归,假定是最优,

从而形象的得出递归方程f(n)=3*f(n-1)+2,f(1)=2;

先将n-1个通过B柱放到C柱,再将第N个放到B柱,然后再将n-1个通过B柱放到A柱

再将第N个放到C柱,最后将n-1个放到C柱,n-1个总共3次,第N个总过2次

再将递归式进行递推得到公式pow(3,n)-1

#include <math.h>
#include <stdio.h>

int main(void)
{
	int n;
	while (scanf("%d", &n) != EOF)
		printf("%.0f\n", pow(3, n) - 1);
	return 0;
}

  

posted @ 2012-03-29 21:02  shijiwomen  阅读(150)  评论(0编辑  收藏  举报