hanoi.cpp

来自「这个是编译原理课程的词法分析器」· C++ 代码 · 共 34 行

CPP
34
字号


#include "stdio.h"
#include "time.h"

/*
 * 递归移动金盘
 */
void move(int n,int x,int y,int z ) {
	if( n==1 )
		printf( "%c-->%c\n", x, z );
	else{
		move( n-1, x, z, y);
		printf( "%c-->%c\n", x, z );
		move( n-1, y, x, z );
	}
}

/*
 * 主函数
 */
void main(){
	int h;
	long timstart = 0;
	long timend = 0;
	printf("\n请输入金盘的个数:\n" );
	scanf("%d",&h );
	printf("移动%2d个金盘的步骤如下:\n",h);
	time(&timstart );
	move(h,'a','b','c');
	time(&timend );
	timend-=timstart;
	printf("\n上述过程耗时%ld秒.\n", timend);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?