#include<iostream> using namespace std; int step; void hanoi(int n,char a,char b,char c){ if(n==1) cout<<++step<<".move "<<n<<" from "<<a<<" to "<<c<<endl; else { hanoi(n-1,a,c,b); cout<<++step<<".move "<<n<<" from "<<a<<" to "<<c<<endl; hanoi(n-1,b,a,c); } } int main(){ int n; cin>>n; hanoi(n,'a','b','c'); } 除了第一层外只要想办法把上面一层移到b,这一层移到c就行了