你能用C++写一个代码来设计移动汉诺塔的方法吗
时间: 2024-02-02 15:02:49 浏览: 29
当然可以,以下是一个示例代码:
```
#include <stdio.h>
void move(int n, char from, char to, char aux){
if (n == 1){
printf("Move disk 1 from %c to %c\n", from, to); // 移动最上面的盘子
return;
}
move(n-1, from, aux, to); // 将n-1个盘子从from柱子移动到aux柱子
printf("Move disk %d from %c to %c\n", n, from, to); // 将第n个盘子从from柱子移动到to柱子
move(n-1, aux, to, from); // 将n-1个盘子从aux柱子移动到to柱子
}
int main(){
int n = 3; // 汉诺塔的盘子数
move(n, 'A', 'C', 'B'); // 将盘子从柱子A经辅助柱子B移动到目标柱子C
return 0;
}
```
输出结果如下:
```
Move disk 1 from A to C
Move disk 2 from A to B
Move disk 1 from C to B
Move disk 3 from A to C
Move disk 1 from B to A
Move disk 2 from B to C
Move disk 1 from A to C
```
相关问题
给我一个用C++写的汉诺塔问题的代码
以下是用C语言实现汉诺塔问题的代码:
```c
#include <stdio.h>
void hanoi(int n, char A, char B, char C) {
if (n == 1) {
printf("%c -> %c\n", A, C);
} else {
hanoi(n - 1, A, C, B);
printf("%c -> %c\n", A, C);
hanoi(n - 1, B, A, C);
}
}
int main() {
int n;
printf("请输入汉诺塔的层数:");
scanf("%d", &n);
hanoi(n, 'A', 'B', 'C');
return 0;
}
```
这个程序可以让用户输入汉诺塔的层数,然后输出每一步的移动过程。
用c++写一段汉诺塔代码
#include<stdio.h>void hanoi(int n, char source, char dest, char aux){
if (n == 1){
printf("从 %c 移动盘子 %d 到 %c\n", source, n, dest);
return;
} hanoi(n-1, source, aux, dest);
printf("从 %c 移动盘子 %d 到 %c\n", source, n, dest);
hanoi(n-1, aux, dest, source);
}int main(){
int n;
printf("输入盘子数量: ");
scanf("%d", &n);
hanoi(n, 'A', 'C', 'B');
return 0;
}
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)