美文网首页
汉诺塔问题

汉诺塔问题

作者: obidv | 来源:发表于2018-07-19 20:50 被阅读0次

用函数计算Hanoi塔步骤:

# include <stdio.h>
#include <stdlib.h>
int main() {
 void step(int o, char x,char y,char z);
 long long int st(int a);
 int t;
 printf("输入座数:");
 scanf("%d", &t);
 step(t,'A','B','C');
 printf("一共%llu步\n", st(t));//64位整型
 system("pause");
 return 0;
}
void step(int s,char x,char y,char z) {
 void pt(char a, char b);
 if (s <= 0) printf("数据错误");
 else if (s == 1) {
 pt(x, z);
 }
 else {
 step(s - 1,x,z,y);
 pt(x, z);
 step(s - 1,y,x,z);
 }
}
void pt(char a, char b) {
 printf("%c-->%c\n", a, b);
}
long long int st(int a) {
 long long int c;
 if (a <= 0) { printf("error!"); }
 else {
 if (a == 1) return 1;
 else c = 2 * st(a - 1) + 1;
 return c;
 }
}

相关文章

  • 汉诺塔问题与递归

    文章也同时在个人博客 http://kimihe.com/更新 汉诺塔问题(Hanoi Tower) 汉诺塔问题的...

  • 汉诺塔算法和背后的数据结构

    汉诺塔是有算法的。 很多问题都有解决办法,汉诺塔也不例外。如果汉诺塔的算法符合 Introduction to a...

  • Python使用递归解决汉诺塔问题

    汉诺塔 (http://baike.baidu.com/view/191666.htm) , 汉诺塔问题也是程序设...

  • 动态规划刷题整理(持续更新)

    (持续更新) 奇怪的汉诺塔(4柱汉诺塔) 描述汉诺塔问题,条件如下:1、这里有A、B、C和D四座塔。2、这里有n个...

  • Python汉诺塔递归算法

    汉诺塔含义: 汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石...

  • 图解汉诺塔问题( Java 递归实现)

    汉诺塔简介 最近在看数据结构和算法,遇到了一个非常有意思的问题——汉诺塔问题。 先看下百度百科是怎么定义汉诺塔的规...

  • 汉诺塔问题

  • 汉诺塔问题

    问题 有三个塔a、b、ca塔上有盘子若干,大小不等,小盘在上,大盘在下,每次只移动一个盘子,现需要将a塔上的全部盘...

  • 汉诺塔问题

  • 汉诺塔问题

    题目(算法课第八课) 古代有一个梵塔,塔内有三个座A、B、C,A座上有64个盘子,盘子大小不等,大的在下,小的在上...

网友评论

      本文标题:汉诺塔问题

      本文链接:https://www.haomeiwen.com/subject/yvrxmftx.html