多项式辗转相除法求最大公约数_辗转相除法求最大公约数
辗转相除法求最大公约数
约数
如果数 a 能被数 b 整除,a 就叫做 b 的倍数,b 就叫做 a 的约数。
最大公约数
最大公约数就是两个数中,大家都能相约且最大的数。
辗转相除法
辗转相除法又名欧几里得算法(Euclidean algorithm),目的是求出两个正整数的最大公约数。它是已知最古老的算法,其可追溯至公元前300年前。
这条算法基于一个定理:两个正整数 a 和 b(a 大于 b),它们的最大公约数等于 a 除以 b 的余数 c 和 较小数 b 之间的最大公约数。
算法计算过程是这样的:
2个数相除,得出余数
如果余数不为0,则拿较小的数与余数继续相除,判断新的余数是否为0
如果余数为0,则最大公约数就是本次相除中较小的数。
比如数字 25 和 10 ,使用辗转相除法求最大公约数过程如下:
25 除以 10 商 2 余 5
根据辗转相除法可以得出,25 和 10 的最大公约数等于 5 和 10 之间的最大公约数
10 除以 5 商 2 余 0, 所以 5 和 10 之间的最大公约数为 5,因此25 和 10 的最大公约数为 5
题目要求
完善函数 gcd的功能。函数 gcd 会计算并返回传入的两个正整数参数之间最大的公约数
如下所示:
gcd(30,3); //返回结果为 3
gcd(12, 24); //返回结果为 12
gcd(111, 11); //返回结果为 1
functiongcd(num1,num2){var remainder = 0;do{
remainder= num1 %num2;
num1=num2;
num2=remainder;
}while(remainder!==0);returnnum1;
}
console.log(gcd(24,12));
实现辗转相除法通常有两种思路,分别如下
1、使用循环实现
function gcd(number1, number2){
var remainder = 0;
do {
remainder = number1 % number2;
number1 = number2;
number2 = remainder;
} while(remainder !== 0);
return number1;
}
2、使用函数递归
function gcd(number1, number2) {
if (number2 == 0) {
return number1;
} else {
return gcd(number2, number1 % number2);
}
}
多项式辗转相除法求最大公约数_辗转相除法求最大公约数相关推荐
- python中and和or的惰性求值特点_惰性求值和yield-Python
惰性求值 惰性求值(Lazy evaluation)是在需要时才进行求值的计算方式.表达式不在它被绑定到变量之后就立即求值,而是在该值被取用的时候求值. 除可以得到性能的提升(更小的内存占用)外,惰性 ...
- python惰性求值例子_惰性求值和yield-Python
惰性求值 惰性求值(Lazy evaluation)是在需要时才进行求值的计算方式.表达式不在它被绑定到变量之后就立即求值,而是在该值被取用的时候求值. 除可以得到性能的提升(更小的内存占用)外,惰性 ...
- java海伦公式求三角形面积_海伦公式求三角形面积出错求教
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 就下面这个程序 输入其他的数字都可以算出面积 但是当输入3,4,6时 计算出面积为零 求吧友指出错误在哪 package javaapplication1 ...
- 标量 向量 标量求导链式法则_矩阵求导术(上)
矩阵求导的技术,在统计学.控制论.机器学习等领域有广泛的应用.鉴于我看过的一些资料或言之不详.或繁乱无绪,本文来做个科普,分作两篇,上篇讲标量对矩阵的求导术,下篇讲矩阵对矩阵的求导术.本文使用小写字母 ...
- 逆函数求导公式_反函数求导公式,the formula about inverse-function's derivative,音标,读音,翻译,英文例句,英语词典...
补充资料:反函数 反函数 inverse function 反函数t~加"出佣;o6paT皿aa中,K"抓] 函数的完全逆象,即对给定函数值域的每个元素y都对应所给函数定义域的一切 ...
- mysql最大公约数_什么是最大公约数和最小公倍数?
最大公约数:指能够整除多个整数的最大正整数,而多个整数不能都为零,例如8和12的最大公约数为4: 最小公倍数:两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最 ...
- python辗转相除法求最大公约数最小公倍数_辗转相除法求最大公约数/最小公倍数...
http://blog.csdn.net/jtujtujtu/article/details/4407171 2009 辗转相除法求最大公约数: 辗转相除法, 又名欧几里德算法(Euclidean a ...
- 算法刷题-数论-试除法求约数、约数个数、约数之和、最大公约数(辗转相除法)
文章目录 acwing869. 试除法求约数 acwing870. 约数个数 acwing871. 约数之和 acwing872. 最大公约数 acwing869. 试除法求约数 acwing869. ...
- 辗转相除法+更相减损法求最大公约数
怎么求两个数的最大公约数呢? 简单的想法就是直接暴力枚举,试出最大公约数 #暴力枚举 #暴力枚举 def GCD(numberA,numberB):gcd=1for i in range(2,max( ...
最新文章
- 【倒计时】Qtum量子链全节点超级大奖1000QTUM,不要错过!
- time and value
- python的模块提供了许多文件管理方法_学会这几招,轻松掌握Python文件管理
- docker $PWD路径_使用docker炼丹
- java实用教程——组件及事件处理——处理事件
- 在JS中如何判断所输入的是一个数、整数、正数、非数值?
- 一个月学会Python,零基础入门数据分析
- Java中的 WeakReference 和 SoftReference
- 双十一京东PLUS会员 VS 阿里88VIP,谁的羊毛多?
- python3 float最大值_Python3(3) Python 函数
- 快速突破面试算法之数学运算篇
- DIY智能小车篇(四):常见问题 BUG汇总
- Unity 中英文互译插件
- 暴走P图APP隐私政策
- App Thinning Xcode9打包选择
- 计算机桌面怎么换服,台式电脑怎么换桌面壁纸
- 根据三角形的三条边长(长、中、短三条边),来判断三角形类型
- Matlab实现基于二维伽马函数的光照不均匀图像自适应校正算法
- 基于STM32f103的电子秤系统设计
- js求三个数的最大值和最小值