早教吧作业答案频道 -->其他-->
汉诺塔,给你任意一种合法状态,你能计算出从当前到把所有的金片移动到第三个针上的最小步数?已有代码,看不懂,inthanio(inta,intb,intc,intn,int*result)//a,b,c分别代表3根针,n是金片数{if(n==1){if
题目详情
汉诺塔,给你任意一种合法状态,你能计算出从当前到把所有的金片移动到第三个针上的最小步数?
已有代码,看不懂,
int hanio(int a,int b,int c,int n,int *result) //a,b,c 分别代表3根针,n是金片数
{
if(n==1)
{
if(result[n-1]==c) return 0;
else return 1;
}
else if(result[n-1]==c) return hanio(a,b,c,n-1,result);
else if(result[n-1]==a) return hanio(a,c,b,n-1,result)+(1r[j];
cout
已有代码,看不懂,
int hanio(int a,int b,int c,int n,int *result) //a,b,c 分别代表3根针,n是金片数
{
if(n==1)
{
if(result[n-1]==c) return 0;
else return 1;
}
else if(result[n-1]==c) return hanio(a,b,c,n-1,result);
else if(result[n-1]==a) return hanio(a,c,b,n-1,result)+(1r[j];
cout
▼优质解答
答案和解析
int hanio(int a,int b,int c,int n,int *result) //a,b,c 分别代表3根针,n是金片数
//result是个长度为n的数组,第一位表示最小的金片,第二位表示次小的金片,...最后一位表示最大的数组.
//数组每个位上的值为a或b或c,表示该金片在哪个针上.显然,对于确定的result只有一种合法状态
{
if(n==1)
{
if(result[n-1]==c) return 0;
else return 1;
} //如果只有一个金片,平凡情况
else if(result[n-1]==c) return hanio(a,b,c,n-1,result);
//如果最大的金片在C针即第三根针上,该金片不动,问题转化为将n-1个金片移到C针上
else if(result[n-1]==a) return hanio(a,c,b,n-1,result)+(1r[j];//这里要防止r溢出
cout
//result是个长度为n的数组,第一位表示最小的金片,第二位表示次小的金片,...最后一位表示最大的数组.
//数组每个位上的值为a或b或c,表示该金片在哪个针上.显然,对于确定的result只有一种合法状态
{
if(n==1)
{
if(result[n-1]==c) return 0;
else return 1;
} //如果只有一个金片,平凡情况
else if(result[n-1]==c) return hanio(a,b,c,n-1,result);
//如果最大的金片在C针即第三根针上,该金片不动,问题转化为将n-1个金片移到C针上
else if(result[n-1]==a) return hanio(a,c,b,n-1,result)+(1r[j];//这里要防止r溢出
cout
看了 汉诺塔,给你任意一种合法状态...的网友还看了以下:
约定在字符编码的传送中采用偶校验,若接收到代码1010010,则表明传送中( )。A.未出现错误B. 2020-05-24 …
约定在字符编码的传送中采用偶校验,若接收到代码11010010,则表明传送中( )。A.未出现错误B 2020-05-24 …
约定在字符编码的传送中采用偶校验,若接收到代码11010010,则表明传送( )。A.未出现错误B. 2020-05-24 …
约定在字符编码的传送中采用偶校验,若接收到代码11010010,则表明传送中()。A.未出现错误B. 2020-05-24 …
公钥密码出现是哪个阶段密码的特点()。A.古典密码B.常规密码C.现代密码D.将来发展方向 2020-05-26 …
以下正确描述嵌入式程序代码生成过程的是(56)。A.高级语言代码→目标代码→汇编语言代码→二进制代码 2020-05-26 …
要素标识符一般由主代码、副代码、时段码与属性码四部分组成。编码格式是主代码[副代码][时段码][ 2020-05-27 …
句子最后one与them指的是谁.要禁用这些函数,编译人员可添加#progma代码行到头文件.编译 2020-06-03 …
switch语句问题java语言中有如下代码,下列x的定义中可使上段代码出现100的有()(选两项 2020-07-17 …
求算法分析与设计-数据统计问题java代码!不要C的!«问题描述:一本书的页码从自然数1开始顺序编 2020-07-17 …