C/C++ 语言中体验复杂度:汉诺塔问题(2)
来源:互联网 发布:linux dns配置文件view 编辑:程序博客网 时间:2024/06/10 03:04
/* *Copyright (c) 2017, 烟台大学计算机学院 *All rights reserved. *文件名称:main.cpp *作 者:黄士胜 *完成日期:2017年9月13日 *版 本 号:v1.0 * *问题描述:汉诺塔问题 *输入描述:盘子数目为 4 8 16 20 24 *程序输出:见截屏 */ #include <stdio.h> #define discCount 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; } }
#include <stdio.h> #define discCount 20 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; } }
#include <stdio.h> #define discCount 16 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; } }
#include <stdio.h> #define discCount 8 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; } }
#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; } }
学习后的总结:
充分了解了复杂度的知识。
阅读全文
0 0
- C/C++ 语言中体验复杂度:汉诺塔问题(2)
- C/C++ 语言中简单体验复杂度(1)
- 第三周项目三-体验复杂度2(汉诺塔问题)
- 第三周项目三-体验复杂度2(汉诺塔问题)
- 项目3-2 体验复杂度 汉诺塔问题
- C语言初体验
- C语言初体验
- C语言链表再体验
- 项目三-体验复杂度(2)汉诺塔
- 【项目3(2)-体验复杂度 汉诺塔】
- 项目三-体验复杂度(2)汉诺塔
- 项目3-体验复杂度 2)汉诺塔
- C语言初体验(一)
- C语言初体验(二)
- C语言中指针问题
- C语言中移位问题
- c语言中变量问题
- C语言中位移问题
- log4j指定自定义日志文件
- 第三周项目4 -顺序表应用
- Why Numpy & Pandas?
- sql优化
- sql查询区分大小写
- C/C++ 语言中体验复杂度:汉诺塔问题(2)
- sourceTree结合Beyond compare实现差异对比
- 第三周项目2 建设 顺序表 算法库
- 关于ajax请求 后台返回中文数据乱码问题
- 关于php读取文件内容 显示
- Android 申请权限
- android问题记录IndexNotReadyException
- 配置com.alibaba.druid.pool.DruidDataSource数据源时出现的异常
- 深度学习的异构硬件加速:TPU 特性与数据中心的 ASIC 应用(概述篇)