哈哈哈哈哈
没想到吧!
汉诺塔居然还有偷懒大法!
公式
2^n-1
用递归写汉诺塔的人一定都给整懵了
居然还有这么么么么么么么么么么么么么么么么么么么简单的方法!
上代码!
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
cout<<pow(2,n)-1;
return 0;
}
看完的人一定很震撼
以前自己居然辛辛苦苦理解居然除框架外3行代码!
原汉诺塔递归代码:
#include<iostream>
using namespace std;
int temp=0;
move(int n,char a,char b,char c){
if(n==0){
return 0;
}
move(n-1,a,c,b);
temp++;
move(n-1,b,a,c);
}
int main(){
int n;
char a='A',b='B',c='C';
cin>>n;
move(n,a,b,c);
cout<<temp;
return 0;
}
除框架外17行代码!!!!!
与3行强烈对比……
看过的人一定要记牢!
2^-1
下次做汉诺塔就可以偷懒大法了!