JavaScript怎么求两个数的最大公约数
3630
在JavaScript中,可利用function语句、if语句配合“%”、“===”运算符求两个数的最大公约数,语法为“function gcd(x,y){if(x%y===0){return y;}return gcd(y,x%y)}
”。
JavaScript怎么求两个数的最大公约数
在JavaScript中,求两个数的最大公约数,
示例如下:
- //功能:求最大公约数
- //参数: x 、y number
- //返回值: number
- function gcd(x , y){
- if(x % y === 0){
- return y ;
- }
- return gcd(y , x % y)
- //三目运算符写法:
- //return x % y === 0 ? y : gcd(y , x % y) ;
- }
- var res = gcd(5 , 20) ;
- console.log(res) ; //5
其他的方法:
1、最大公约数 — 循环求余数
- //最大公约数 --- 循环求余数
- //功能:两个数的最大公约数
- //参数:x,y number
- //返回值:最大公约数 number
- function gcd(x , y){
- //比较两个数的大小,取较小的数
- var min = x < y ? x : y ;
- //从大到小循环找第一个公约数
- for(var i = min ; i >= 1 ; i--){
- //判断是否为公约数
- if(x % i == 0 && y % i == 0){
- return i ;
- }
- }
- }
- var res = gcd(5 , 20);
- document.write(res) ; //5
2、最大公约数 — 欧几里得算法 – 递归实现
f方法:大数对小数求余,重复这个过程直到余数为 0
- // 最大公约数 --- 欧几里得算法 -- 递归实现
- //递归:大数对小数求余,重复这个过程直到余数为 0
- //功能:求最大公约数
- //参数:m,n number
- //返回值: number
- function gcd(m , n){
- //大数能否整除小数
- var max = m > n ? m : n ;
- var min = m < n ? m : n ;
- if(max % min == 0){
- //如果能整除,小数就是最大公约数
- return min ;
- }
- else{
- return f(min, max % min) ;
- }
- }
- var res = gcd(5 , 20) ;
- document.write(res) ; //5
本文网址:https://www.zztuku.com/detail-11105.html
站长图库 - JavaScript怎么求两个数的最大公约数
申明:如有侵犯,请 联系我们 删除。
您还没有登录,请 登录 后发表评论!
提示:请勿发布广告垃圾评论,否则封号处理!!