汉诺塔问题
递归:1、将大问题化为小问题
2、找到大小问题的关系式
#include<iostream>
#include<cstdio>
using namespace std;
long long hanoi(int n) {
if (n == 1) return 2;
else
return 3 * hanoi(n - 1) + 2;
}
int main() {
int n;
while (cin >> n) {
int res = hanoi(n);
cout << res << endl;
}
}
2、找到大小问题的关系式
#include<iostream>
#include<cstdio>
using namespace std;
long long hanoi(int n) {
if (n == 1) return 2;
else
return 3 * hanoi(n - 1) + 2;
}
int main() {
int n;
while (cin >> n) {
int res = hanoi(n);
cout << res << endl;
}
}
全部评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享