汉诺塔问题---- 递归类型 之 非数值类型
递归类型大致方向有两种,第一是数值计算的(兔子数列)(可以用矩阵加快速幂优化),第二是文字非纯数据的(汗诺塔)
递归时。,只需考虑一步和周期间的(打 × 处)
(1 2 3 1 2 3)
× × ×
#include<stdio.h>
int n;
void hanoi(int n,char a,char b,char c)
{
if(n==1) printf("%d from %c to %c\n",n,a,c);
else
{
hanoi(n-1,a,c,b); //把n-1个盘移到B中后
printf("%d from %c to %c\n",n,a,c);//移到C盘中
hanoi(n-1,b,a,c);//A B盘地位交换了
}
}
int main()
{
scanf("%d",&n);
printf("%d\n",(1<<n)-1);
hanoi(n,'A','B','C');
return 0;
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
· 程序员常用高效实用工具推荐,办公效率提升利器!