一、最大公约数 greatest common divisor

最初级的方法

function gcd(a, b) {let result = 1; //最小的公约数是1for (let i = 1; i <= a && i <= b; i++) {if (a % i == 0 && b % i == 0) {result = i;}}return result;
}

欧几里得算法(又称辗转相除法),可采用递归和迭代两种方法实现

该算法依赖的定理是:两个整数的最大公约数等于较小的那个数和两个整数相处余数的最大公约数。

// 假设a>b
gcd(a,b) = gcd(b,a%b)

递归

function DG(a, b) {if (b > a) { // 排序 让较大的数在前面let temp = a;a = b;b = temp;}if (a == b || b == 0) { return a;}return DG(b, a % b);
}

迭代
迭代即一次次地循环,逼近并得到最终结果,即程序里的循环。
由于预先不知道循环几次,故采用while循环实现。

function DD(a, b) {if (a < b) {let temp = a;a = b;b = temp;}while (b != 0) {let remainder = a % b;// 余数a = b;b = remainder;}return a;
}

二、最小公倍数 least common multiple

最小公倍数 = 两个数的乘积 / 最大公约数

function lcm(a, b) {return (a * b)/gcd(a,b);
}

JavaScript求最大公约数和最小公倍数相关推荐

  1. c语言有参有类最小公倍数,C语言求最大公约数和最小公倍数算法

    C 语言求最大公约数和最小公倍数算法 C 语言求最大公约数和最小公倍数可以说是C 语言编程学习中一个重点和难点,它常常作为计算机专业学生参加各种考试必须要把握的内容.其算法方面除常用的辗转相除法外.还 ...

  2. python计算最大公约数和最小公倍数_python怎么求最大公约数和最小公倍数

    python怎么求最大公约数和最小公倍数 一.求最大公约数 用辗转相除法求最大公约数的算法如下: 两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数.比如10和 ...

  3. C语言求最大公约数与最小公倍数

    该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105022773 求 ...

  4. python最大公约数和最小公倍数_python怎么求最大公约数和最小公倍数

    python怎么求最大公约数和最小公倍数 一.求最大公约数 用辗转相除法求最大公约数的算法如下: 两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数.比如10和 ...

  5. 辗转相除法(欧几里得算法)求 最大公约数与最小公倍数+推论与证明。

    首先我们规定:0不参与公约数和公倍数的讨论 先来讨论最大公约数: 最大公约数求法:两个数的所有公共质数相乘. 考虑三个问题. 为什么是公共的:公共代表这个数可以被两个数都整除 为什么是质数:合数一定能 ...

  6. python求最小公倍数_python求最大公约数和最小公倍数的简单方法

    python怎么求最大公约数和最小公倍数 一.求最大公约数 用辗转相除法求最大公约数的算法如下: 两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数.比如10和 ...

  7. java - 求最大公约数和最小公倍数

    根据提示输入两个正整数 m 和 n,求其最大公约数和最小公倍数 并进行控制台输出. 原理分析 在循环中,只要除数不等于 0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮 ...

  8. php怎么求最小公倍数,PHP编程求最大公约数与最小公倍数的方法示例

    本文实例讲述了PHP编程求最大公约数与最小公倍数的方法.分享给大家供大家参考,具体如下: //求最大公约数 function max_divisor($a,$b) { $n = min($a, $b) ...

  9. 求最大公约数和最小公倍数简洁写法的注意事项

    求最大公约数和最小公倍数 最简洁的写法就是一行递归的写法 有些小细节可能需要注意,下面进行了一点总结~ 1.最大公约数 简洁的写法就是这样 int gcd(int a,int b){if(b == 0 ...

最新文章

  1. 【Win10 应用开发】语音命令与App Service集成
  2. 百度母婴技术团队—基于Reactjs实现webapp #1
  3. 【Python基础】弄懂这几个问题,拿下 Python 生成器!
  4. mysql5.7中使用group by报错
  5. 《leetcode》two-sum
  6. CNN结构:SPP-Net为CNNs添加空间尺度卷积-神经元层
  7. 来自Google资深工程师的API设计最佳实践
  8. java登录界面命令_Java命令行界面(第8部分):Argparse4j
  9. 算法工程师怎样提升业务理解能力?
  10. RHEL 6.5 中的KVM虚拟化新特性
  11. dropbox_Dropbox的5种开源替代品
  12. java image getscaledinstance_使用getImage()和getScaledInstance()调整java.awt.Image的异常大小...
  13. mySql 修改字段名
  14. [转载]Qt之解决中文乱码_vortex_新浪博客
  15. Python实现简单的人脸打卡系统
  16. 萤火虫小程序_漫展情报蛋趣携福利来萤火虫IDO漫展咯
  17. Python常用模块库
  18. EasyExcel导出合并单元格
  19. Mac M2芯片Arm64安卓模拟器7.0安装xposed
  20. 已知圆外一点坐标,以及圆心坐标、半径,求圆的切线方程

热门文章

  1. 理解神经网络的注意力机制(Attention)及PyTorch 实现
  2. asp + Access简单翻页代码
  3. 最大质因数 最大回文数乘积 字符串String类用法_Java每日练习题及题解(11月16日)
  4. faker所有常用函数整理,测试工程师自动生成测试数据生成
  5. win10离线安装vs2017
  6. MapReduce核心思想及其步骤原理
  7. html实现数据存储,HTML5数据存储
  8. c++ 字符串转换函数---atof()函数详解
  9. 八款免费 开源的 SQL 客户端,你值得拥有!
  10. 读书笔记:《代码大全第2版》 03.创建高质量的代码之创建高质量的类