汉诺塔II
思路:找规律,你首先要明白n柱汉诺塔问题,然后进行列数找规律求解。
//开始加两个2,然后3个4,4个8,5个16...
//1 3 5 9 13 17 25 33 41 49 65 81
#include<stdio.h>
#include<math.h>
int main()
{
int n;
int i,j;
int a[100000];
a[0]=1;
int k=0;
int sum=1;
for(i=2;i<=64;i++)
{
for(j=1;j<=i;j++)
{
sum=sum+pow(2.0,i-1);
a[++k]=sum;
}
}
while(scanf("%d",&n)!=EOF)
{
printf("%d\n",a[n-1]);
}
}