九连环的算法大致伪代码描述…… 拆装(i) { if i==1 then {直接拆装第i个环;记录;输出步骤;返回;} else { if a[i-1]未装上 then 拆装(i-1); for j = i-2 to 1 if a[j]未拆下 then 拆装(j); 直接拆装第i个环;记录;输出步骤; } } main() { for k = n to 1 拆装(k); } 后来发现步骤还可以可以完善和简化点…… 1.是否不可以直接求解? 递归调用自身解决子问题; 2.解决自身; 3.【递归解决后续问题】(比如汉诺塔) 于是函数可以这样…… 拆装(i) { if i>1 then { if a[i-1]未装上 then 拆装(i-1); for j = i-2 to 1 if a[j]未拆下 then 拆装(j); } 直接拆装第i个环;记录;输出步骤; }