1 超硬核解法
#include"iostream"
using namespace std;
int main()
{
cout<<"1\n3\n5\n9\n13\n17\n25\n33\n41\n49\n65\n81\n";
return 0;
}
当然肯定不推荐这种方法的~
下面就是超高(低)级的函数递推方法:
2 稍微高级解法
#include"bits/stdc++.h"
//只是因为不想打头文件
using namespace std;
int hanoi_3[20],hanoi_4[20];
void move()
{
hanoi_3[1]=1;
for(int i=2;i<=12;i++) hanoi_3[i]=hanoi_3[i-1]2+1;
memset(hanoi_4,0x3f,sizeof(haloi_4));
hanoi_4[1]=1;
for(int i=2;i<=12;i++)
for(int j=1;j<i;j++)
hanoi_4[i]=min(hanoi_4[i],2
hanoi_4[j]+hanoi_3[i-j]);
}
void putout()
{
for(int i=1;i<=12;i++) cout<<hanoi_4[i]<<"\n";
}
int main()
{
move();
putout();
return 0;
}