第2周【项目3 - 体验复杂度程序三——汉诺塔程序】
2017-09-14 11:27
225 查看
/* *Copyright(c)2017,烟台大学计算机学院 *All right reserved. *文件名称:20170914.cpp *作者:李小同 *完成日期;2017年9月14日 *版本号;v1.1 * *问题描述:用递归算法求解汉诺塔问题,是指数级的算法。 *输入描述:盘子数n *程序输出:需要移动的次数 */
#include <stdio.h> #define discCount 4 long move(int, char, char,char); int main() { long count; count=move(discCount,'A','B','C'); printf("%d个盘子需要移动%ld次\n", discCount, count); return 0; } long move(int n, char A, char B,char C) { long c1,c2; if(n==1) return 1; else { c1=move(n-1,A,C,B); c2=move(n-1,B,A,C); return c1+c2+1; } }
运行结果:
知识点总结:
掌握运用不同的算法结构,对做一个好的工程有很大的帮助。
学习心得:
感受不同算法在运行时间上的差异,采用好的算法可以大大节省计算机运行时间,提高效率。
相关文章推荐
- 第2周项目3体验复杂度之汉诺塔
- 第2周时间项目3-体验复杂度(2)汉诺塔
- 第2周项目3-体验复杂度(2)汉诺塔
- 第2周 项目3 (2) 体验复杂度(汉诺塔)
- 第二周 项目3(2) - 体验复杂度-汉诺塔程序
- 第2周项目3-(2)体验复杂度、汉诺塔问题
- 【第2周 项目3 - 体验复杂度(汉诺塔)】
- 第2周实践项目3--体验复杂度(2)汉诺塔
- 第2周实践项目3--体验复杂度(2)汉诺塔
- 第2周项目3-体验复杂度(2)汉诺塔
- 第2周项目3 体验复杂度(2)汉诺塔
- 第2周项目3(2)-体验复杂度之汉诺塔
- 第2周项目3体验复杂度
- 第二周项目4-体验复杂度汉诺塔问题
- 第二周项目3-体验复杂度(2)汉诺塔
- 第二周 项目3.2 体验复杂度(汉诺塔)
- 第2周 项目3 - 体验复杂度
- 第2周项目3体验复杂度
- 第2周项目3-(2)体验复杂度
- 第二周项目3-体验复杂度-(2)汉诺塔