第二周项目3-体验复杂度(2)汉诺塔

来源:互联网 发布:uml数据库建模 编辑:程序博客网 时间:2024/05/01 08:05

问题代码:

/* * Copyright (c) 2016,烟台大学计算机学院 * All rights reserved. * 文件名称:w.cpp * 作者:王译敏 * 完成日期:2016年9月7日 * 版本号:vc6.0 * * 问题描述:用递归算法求解汉诺塔问题,其复杂度可以求得为O(2^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;      }  }  
运行结果:
<img src="http://img.blog.csdn.net/20160907231816846?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
<span style="font-family: Arial; font-size: 14px; line-height: 26px;">知识点总结:</span>
<span style="font-family: Arial; font-size: 14px; line-height: 26px;">递归运算。</span>
<span style="font-family: Arial; font-size: 14px; line-height: 26px;">心得体会:</span>
<span style="font-family:Arial;"><span style="font-size: 14px; line-height: 26px;">这类问题不大会,有待提高。</span></span>
<span style="font-family: Arial; font-size: 14px; line-height: 26px;"></span>


0 0
原创粉丝点击