我面临着编写一个功能的代码(用C语言编写)的任务,该功能可以解决河内塔楼的问题并显示磁盘的所有移动。
有问题的递归函数是:void hanoi(int m, int *I, int* J, int* K)
,其中m是使用中间数组J从阵列I移到K的磁盘数。
现在,我成功编码了此功能(我认为),但是无法放置打印功能,因此每次移动磁盘后都无法显示系统。
void hanoi(int m, int* I, int* J, int* K) {
if(m>0) {
hanoi(m-1, I, K, J);
deplacer(I, K);
hanoi(m-1, J, I, K);
}
}
函数void deplacer(int *A, int* B)
将顶部磁盘从A移到B(假设它是合法的)。
函数void dessine(int* I, int* J, int* K, int m)
照原样绘制系统(在控制台中)。
简而言之:我无法正确地将调用(或调用?)放置在“ hanoi”主体内的“ dessine”中,从而无法按执行顺序显示系统。
答案 0 :(得分:2)
唯一改变塔状态的是函数{
"Version": "10/14/18",
"Statement": [{
"Effect": "Allow",
"Action": ["apigateway: POST"],
"Resource": ["arn:aws:lambda:us-west-2:278483347755:function:GetPolicy"]
}]
}
。因此,如果您想了解状态随时间的变化情况,则应在致电deplacer()
之后立即致电dessine()
。