hdu 1207 汉诺塔II
规律:
a[1]=1;
a[2]=a[1]+2;a[3]=a[2]+2;(2个加2^1)
a[4]=a[3]+4;a[5]=a[4]+4;a[6]=a[5]+4;(3个加2^2);
…………………………………………(4个加2^3);
#include <iostream>
#include <cmath>
using namespace std;
long dig[65];
int main()
{
int n,m=2,num=0,sum=2;
dig[1]=1;
for(int i=2;i<=64;i++)
{
num++;
if(num<=sum)
{
dig[i]=dig[i-1]+pow(2.0,m-1);
}
if(num>sum)
{
num=0;
sum++;
m++;
i--;
}
}
while(cin>>n)
{
cout<<dig[n]<<endl;
}
return 0;
}