// 这是一个非常经典的递归问题
// 虽然简单,但既然讲到递归就不得不提
#include "iostream.h"
void move( char from , char to )
{
static int step = 1;
cout<<"step "<<step++<<": "<<from<<" -> "<<to<<endl;
}
void hanoi( int n , char a , char b , char c )
{
if( n > 0 )
{
hanoi( n - 1 , a , c , b );
move( a , c );
hanoi( n - 1 , b , a , c );
}
}
void main()
{
hanoi( 21 , 'a' , 'b' , 'c' );
}
博客展示了用C语言解决经典递归问题——汉诺塔问题的代码。定义了移动函数和汉诺塔递归函数,在主函数中调用汉诺塔函数处理21个盘子的情况,体现了递归在编程中的应用。
2358

被折叠的 条评论
为什么被折叠?



