
求解,没有什么思路,我写的代码感觉很麻烦,请问有没有简便的,求指点
这就是汉诺塔问题,用递归
#include <stdio.h>
int hanoi(int n)
{
if (n == 1)
return 1;
else
return 2 * hanoi(n - 1) + 1;
}
int main()
{
int n;
scanf("%d", &n);
int moves = hanoi(n);
printf("%d", moves);
return 0;
}