1 条题解
-
0
C :
#include<stdio.h> int i = 1;//定义全局变量,每次调用后加1 int sum=0; int Hanoi(int n, char A, char B, char C) { if (n == 1)//如果只有一个直接从A移到B "%2d-(%2d):%c==>%c\n" { sum++; } else { Hanoi(n - 1, A, C, B);//把n - 1个从A移到C借助B sum++; Hanoi(n - 1, B, A, C);//把n - 1个从C移到B借助B } return sum; } int main() { int n; char A = 'A'; //定义ABC表示三个柱子 char B = 'B'; char C = 'C'; scanf("%d", &n); printf("%d",Hanoi(n, A, B, C)); return 0; }
C++ :
#include <iostream> using namespace std; int main(){ int s = 1; int n,i; cin>>n; for(i = 1;i < n;i++){ s = 2 * s + 1; } cout<<s<<endl; }
Python :
def hanoi(n): if n<1: return -1 elif n==1: return 1 else: return 2*(hanoi(n-1))+1 num=int(input()) print(hanoi(num))
- 1
信息
- ID
- 2155
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 1
- 上传者