汉诺塔 妖狐艹你老母 2022-08-13 15:54 241阅读 0赞 package com.someusefuldesign.demo; /*假设有A B C三个柱子移动的顺序为: * */ public class Hanoi { static int count = 0; public void hanoi(int n,String from,String depend,String to ){ //这里的n是指每个柱子上盘子的编号,从上到下为1-n if(n == 1){ move(from,to); }else{ /**先把初始柱子的前n-1个盘子借助目标柱子移动到辅助柱子上**/ hanoi(n-1,from,to,depend);//把初始柱子上n-1个放到辅助柱子上 /**然后把初始柱子上最后一个最大的盘,放到目标柱子上*/ move(from,to);//这里只是打印出来信息 /**然后借助初始柱子(把初始柱子当成辅助柱子),把之前辅助柱子上的n-1个盘,放到目标柱子上*/ hanoi(n-1,depend,from,to); //再把辅助上的放到目标柱子上 /**由于是递归,反复调用,知道n=1,到递归出口*/ } } public void move(String from,String to){ System.out.println("from " + from + " to " + to); count++; } public static void main(String[] args) { /**定义ABC三个柱子,A为初始柱子,B为辅助柱子,C为目标柱子*/ Hanoi hanoi=new Hanoi(); hanoi.hanoi(3, "A", "B", "C"); System.out.println("一共移动了"+count+"步"); } }
相关 汉诺塔 汉诺塔 1.目标 2.思路(算法 ) 3.实现 4.总结(如何理解这个算法) 注意: 1.目标 目标很明确就是将下图中A柱子上 淡淡的烟草味﹌/ 2022年11月02日 13:14/ 0 赞/ 89 阅读
相关 汉诺塔 package com.someusefuldesign.demo; /假设有A B C三个柱子移动的顺序为: / public class 妖狐艹你老母/ 2022年08月13日 15:54/ 0 赞/ 242 阅读
相关 汉诺塔 Problem Description 汉诺塔(又称河内塔)问题是印度的一个古老的传说。 开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒A、B和C,A上面套着 Dear 丶/ 2022年06月17日 05:28/ 0 赞/ 322 阅读
相关 汉诺塔 汉诺塔 Time Limit: 1000MS Memory Limit: 65536KB [Submit][] [Statistic][] Prob 约定不等于承诺〃/ 2022年06月11日 03:24/ 0 赞/ 273 阅读
相关 汉诺塔 \include<stdio.h> void hanoi(int n,char A,char B,char C) \{ if(n==1) printf("Move s 逃离我推掉我的手/ 2022年06月10日 12:57/ 0 赞/ 320 阅读
相关 汉诺塔 include <stdio.h> void hannuota(int n,char A,char B,char C){ if(1 == n){ 川长思鸟来/ 2022年06月07日 13:06/ 0 赞/ 240 阅读
相关 汉诺塔 汉诺塔 Time Limit: 1000 ms Memory Limit: 65536 KiB [Submit][] [Statistic][] Problem D 怼烎@/ 2022年05月29日 05:58/ 0 赞/ 288 阅读
相关 汉诺塔 def move(n, a, b, c): if n == 1: \ 如果a只有1盘子 print(a, '-->', c); \ 直接把盘子从a移到c els 迷南。/ 2022年05月18日 22:25/ 0 赞/ 348 阅读
相关 汉诺塔 include <iostream> using namespace std; int main() { void hanno(int 冷不防/ 2021年09月29日 12:14/ 0 赞/ 483 阅读
还没有评论,来说两句吧...