首页 > 代码库 > 使用stein 算法计算 最大公约数和最小公倍数
使用stein 算法计算 最大公约数和最小公倍数
比欧几里得算法高效的用来计算gcd和lcm的stein算法,用来大数的计算:
function gcd(a,b){ if(a == b){return a;} var bigger; var smaller; if(a>b){bigger = a;smaller = b;} else{bigger = b;smaller = a;} if(smaller == 0){return bigger;} if(bigger %2 == 0 && smaller % 2 == 0){ return 2*gcd(bigger/2,smaller/2); } else if(bigger%2 == 0){ return gcd(bigger/2,smaller); } else if(smaller%2 == 0){ return gcd(bigger,smaller/2); } else{ return gcd((bigger+smaller)/2,(bigger-smaller)/2); } } function lcm(a,b){ return a*b/gcd(a,b); }
使用stein 算法计算 最大公约数和最小公倍数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。