自学内容网 自学内容网

C++解决汉诺塔问题

说明:问题来自CSDN-问答板块,题主提问。

需求:相传在古代印度的 Bramah 庙中,有位僧人整天把三根柱子上的金盘倒来倒去,原来他是想把n个一个比一个小的金盘从 A 柱上移到 B柱上去。移动过程中恪守下述规则:

  • 每次只允许移动一只盘,且大盘不得落在小盘上面。

题目描述:
在最少步数的前提下,请你输出第 m 步之后的状态:

  • 输出一个长度为 n 的字符串 s,s[i]= A/B/C 代表第i个盘子当前在哪根柱子上。
  • 盘子从小->大按 1,2,….,n 编号

输入格式:
一行2个整数 n,m
输出格式:
一个长度为 n 的字符串 s 

输入输出案例:

  • 输入3 1,输出:BAA
  • 输入3 7,输出:BBB
  • 输入5 10,输出:CABCA

 

一、运行结果图


原文地址:https://blog.csdn.net/qq_23126581/article/details/136898539

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!