#include<stdio.h>
#include<math.h>
int main()
{
int n,m,min,i,j,f[65];
f[1]=1,f[2]=3,m=10000000;
for(i=3;i<=64;i++)
{
min=m;
for(j=1;j<=i;j++)
{
if(2*f[j]+pow(2,i-j)-1<min)
{
min=2*f[j]+pow(2,i-j)-1;
f[i]=2*f[j]+pow(2,i-j)-1;
}
}
}
while(scanf("%d",&n)!=EOF)
{
printf("%d\n",f[n]);
}
return 0;
}
汉诺塔II
最新推荐文章于 2023-09-22 16:37:39 发布