(1)递归算法:递归算法有两个关键点:(1)递归出口;(2)递归过程

void hanoi(int n, char one, char two, char three)
/*   将n个盘子从one 座借助two座, 移到three 座*/
{ 
	if (n= =1)
		 move (one, three);  //递归出口,如果递归出口不对,则会耗尽系统栈内存
 	else {                               //递归过程
		hanoi(n-1, one, three, two); //第一步,将one上面的n-1个盘子,通过three移动到two
	 	move(one, three);	     //第二步,将one上面的那个盘子直接移动到three上	
		hanoi(n-1, two, one, three); //第三步,将two上面的n-1个盘子,通过one移动到three上面
	}
}
main()
{ 
	int m;
 	printf(input the number of diskes:);
	scanf(“%d”,&m);
	printf(“The step to moving %3d diskes:\n”,m);
	hanoi(m,’A’,’B’,’C’);
}

(2)贪心算法

(3)动态规划



相关文章:

  • 2021-07-19
  • 2021-12-07
  • 2021-05-29
  • 2021-07-04
  • 2021-12-31
  • 2021-11-30
  • 2021-09-04
猜你喜欢
  • 2022-02-22
  • 2021-10-03
  • 2021-06-15
  • 2021-07-18
  • 2021-12-04
  • 2021-09-27
相关资源
相似解决方案