第二周——项目3复杂度体验(2)汉诺塔
2015-09-14 17:29
281 查看
/* *Copyright (c++) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:hut.cpp *作者:商文轲 *完成日期:2014年9月17日 *版本号:vc6.0 *问题描述:用递归算法求解汉诺塔问题,其复杂度可以求得为O(2 n ) ,是指数级的算法 不同盘子所消耗的时间 *输入描述:无 *程序输出:算法的运行时间 */ #include <stdio.h> #define discCount 4 //改变discCount 运行在8,16,20,24下的结果 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; } }
四个盘子
八个盘子
16个盘子
相关文章推荐
- Java MyArrayList 示例
- python代码小记
- C/C++程序员实用大全—C/C++最佳编程指南
- Xcode 自定义Log
- nginx基本配置和虚拟主机配置
- 第一次写博客,c#初学者,数组
- 实验室聚会感悟
- Android JNI NDK 全程配置和运行demo,总结csdn所有博客自己提炼!!!!最易懂
- FreeBSD系统忘记root密码
- Web2Maven时遇到的问题
- Spring MVC and Excel file via AbstractExcelView
- 如何在Android上使用OpenGL ES 2.0绘制点。
- 大数运算(二)——大数相减
- C语言深度剖析
- C语言核心技术
- 现代论文的一个通病.专家你中招了几个?
- 转载:天涯——散文天下——《怕老婆》——作者:南方孤驴
- 游戏开发之如何自己做一款游戏?
- Android 如何在Eclipse 引入外部纯Java项目(不是打成Jar使用)
- 第二周汉诺塔问题