c#的汉诺塔算法怎么写
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇"c#的汉诺塔算法怎么写"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"c#的汉诺
千家信息网最后更新 2026年11月04日c#的汉诺塔算法怎么写
这篇"c#的汉诺塔算法怎么写"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"c#的汉诺塔算法怎么写"文章吧。
#includevoid main(){ extern a; extern b; extern c; extern s; void hanno(int,char,char,char); void setNum(int); int n; printf("Please input the number of dishes: "); scanf("%d",&n); printf("The following is moving %d dishes ...\n (%2d 0 0)\n",n,n); setNum(n); hanno(n,'A','B','C');}int a;int b;int c;int s;void setNum(int m){ a=m;}void hanno(int m,char pillar1,char pillar2,char pillar3){ void move(char,char,int); if(m==1) { s++; move(pillar1,pillar3,s); } else { hanno(m-1,pillar1,pillar3,pillar2); s++; move(pillar1,pillar3,s); hanno(m-1,pillar2,pillar1,pillar3); };}void move(char x,char y,int s){ if (x=='A' && a>0 ) a--; else if (x=='B' && b>0 ) b--; else if (x=='C' && c>0 ) c--; if (y=='A') a++; else if (y=='B') b++; else if (y=='C') c++; printf("%3d: %c --> %c (%2d %2d %2d)\n",s,x,y,a,b,c);}
#gcc hannuota.c -o hannuota
# ./hannuota
Please input the number of dishes: 3
The following is moving 3 dishes ...
( 3 0 0)
1: A --> C ( 2 0 1)
2: A --> B ( 1 1 1)
3: C --> B ( 1 2 0)
4: A --> C ( 0 2 1)
5: B --> A ( 1 1 1)
6: B --> C ( 1 0 2)
7: A --> C ( 0 0 3)
以上就是关于"c#的汉诺塔算法怎么写"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
内容
算法
汉诺
c#
文章
知识
篇文章
价值
大部分
就是
更多
步骤
知识点
行业
资讯
资讯频道
频道
帮助
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
北京路客互联网科技有限公司
互联网科技有限公司经营范围
互联网科技有限公司图片
港股互联网科技股
为想互联网科技
万达互联网科技
郑州华宇互联网科技
中正互联网科技招聘
青岛中康互联网医疗科技有限公司
济南华为互联网科技产业总部基地
金融科技与互联网金融相同和不同
厦门比较好的科技互联网公司
昭通互联网科技选哪家
移动互联网科技公司
互联网科技大奖都有哪些公司
互联网行业科技股
伊宁互联网科技做什么的
万物互联网智能科技
广西科技产业互联网是什么
数字互联网科技有限公司
互联网加科技
互联网的科技
金融科技与互联网金融
互联网高科技股票
天扬科技互联网广告
互联网软件和科技
互联网科技和信息
国产互联网科技公司
青岛易易互联网科技
北京品多多互联网科技有限公司