算法设计与分析

11信本余启盛 118632011004

一、上机目的及内容

1.上机内容

求两个自然数m和n的最大公约数。

2.上机目的

(1)复习数据结构课程的相关知识,实现课程间的平滑过渡;

(2)掌握并应用算法的数学分析和后验分析方法;

(3)理解这样一个观点:不同的算法能够解决相同的问题,这些算法的解题思路不同,复杂程度不同,解题效率也不同。

二、实验原理及基本技术路线图

(1)至少设计出三个版本的求最大公约数算法;

(2)对所设计的算法采用大O符号进行时间复杂性分析;

(3)上机实现算法,并用计数法和计时法分别测算算法的运行时间;

(4)通过分析对比,得出自己的结论。

三、所用仪器、材料(设备名称、型号、规格等或使用软件)

1台PC及VISUAL C++6.0软件matlab .2008

四、实验方法、步骤(或:程序代码或操作过程)

实验采用三种方法求最大公约数

1、连续整数检测法。

2、欧几里得算法

3、蛮力法(短除法)

根据实现提示写代码并分析代码的时间复杂度:

算法一:连续整数检测法。

CommFactor1

输入:两个自然数m和n

输出:m和n的最大公约数

1.判断m和n哪个数小,t=min(m,n)

2.如果m%t==0&&n%t==0 ,结束

2.1 如果t不是m和n的公因子,则t=t-1;

3. 输出t ;

matlab中求最大因数,matlab最大公约数 三种算法相关推荐

  1. C语言求最小公倍数和最大公约数三种算法(经典)

    C语言求最小公倍数和最大公约数三种算法(经典) 最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为 ...

  2. c语言求最小公倍数和最大公约数三种算法

    C语言求最小公倍数和最大公约数三种算法(经典) 求最小公倍数算法: 最小公倍数=两整数的乘积÷最大公约数 求最大公约数算法: (1)辗转相除法 有两整数a和b: ① a%b得余数c ② 若c=0,则b ...

  3. matlab中求包络线函数,matlab包络线函数

    的包络 解调方法 一直 是机 械故 障诊 线 ,只 需要经 过大 脑 的取舍 ,...(c )可 以看 出,经过 MATLAB 中的 Hilbert 函数 后也 出现 了皱 纹 ,...... yma ...

  4. matlab中求方差的,matlab中求方差为什么除以n-1?

    方差有两种biased和unbiased,前者除以n:后者除以n-1,叫做Bessel'scorrection,可以修正样本的variance,更精确描述样本空间.matlab采用的是后者.抄一段对两 ...

  5. c语言中最小公倍数算法,常见算法:C语言求最小公倍数和最大公约数三种算法...

    最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,当中一个最小的公倍数是他们的最小公倍数,相同地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接 求 ...

  6. 常见算法:C语言求最小公倍数和最大公约数三种算法

    最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,当中一个最小的公倍数是他们的最小公倍数,相同地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接 求 ...

  7. 求最小公倍数c语言最简公式,C语言求最小公倍数和最大公约数三种算法(经典)...

    把以前写的一些经验总结汇个总,方便给未来的学弟学妹们做个参考! --------------------------永远爱你们的:Sakura 最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们 ...

  8. C语言求最小公倍数和最大公约数三种算法(经典)----ACM

    最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,其中一个最小的公倍数是他们的最小公倍数,同样地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接 求 ...

  9. c语言求a b 最大公约数和最小公倍数,常见算法:C语言求最小公倍数和最大公约数三种算法...

    最小公倍数:数论中的一种概念,两个整数公有的倍数成为他们的公倍数,当中一个最小的公倍数是他们的最小公倍数,相同地,若干个整数公有的倍数中最小的正整数称为它们的最小公倍数,维基百科:定义点击打开链接 求 ...

最新文章

  1. codeforces水题100道 第十六题 Codeforces Round #164 (Div. 2) A. Games (brute force)
  2. mysql忘记root密码及修改密码
  3. 远程连接oracle01017,连接Oracle远程数据库错误:ORA-12541,ORA-12514,ORA-01017的解决方法!...
  4. vrf名称_如何使用VRF(可验证随机函数)在以太坊上生成随机数
  5. Py之pycocotools:pycocotools库的简介、安装、使用方法之详细攻略
  6. git tag 功能笔记
  7. 20145227鄢曼君《网络对抗》Web安全基础实践
  8. VC2008的运行库问题。
  9. 论述计算机与外设的访问控制方法,试论述计算机与外设访问控制的方法有多少种各有什么优缺点...
  10. 使用vue-cli3创建项目的时候出错,ERROR command failed: npm install --loglevel error --registry
  11. mysql 本月第几周_Mysql 计算当前日期是本月第几周:一个自定义算法
  12. 高校邦后台挂课答题助手可后台可多开可答题
  13. python 儿童教程_教孩子学编程PYTHON语言版PDF_Python教程
  14. 立创 EDA #学习笔记10# | 常用连接器元器件识别 和 蜂鸣器驱动电路
  15. 计算机教案制作电子表格,制作电子表格教案
  16. 10246 - Asterix and Obelix
  17. iOS开发 适配iPhone XS Max/iPhone XR
  18. 判断对错。在java的多态调用中,new的是哪一个类就是调用的哪个类的方法。
  19. SAP系统里的统驭科目
  20. 地图编辑器开发(一)

热门文章

  1. pika.exceptions.ConnectionClosed 问题的解决
  2. 教大家微信里投票的怎么刷票及微信投票怎么免费刷票攻略
  3. 【Android】为啥子线程抛出异常主线程会崩溃?UncaughtExceptionHandler
  4. android唱吧源码,Android版唱吧K歌王
  5. 软件测试的魅力何在?您为什么选择测试一行而不做开发?
  6. 【Java 8系列】Java开发者的判空利器 -- Optional
  7. RNA-seq 详细教程:搞定count归一化(5)
  8. 做好异常处理,防止无故翻车
  9. 从0开始学Unity做SLG系列(发布篇)
  10. 风险投资(VC)与私募股权投资(PE)的区别