本文主要是介绍求最大公约数和最小公倍数算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用scala语言求解两个数的最大公约数和最小公倍数
最大公约数
//欧几里得算法(递归方式)def gcdLoop(a:Long,b:Long): Long ={var x=avar y=bwhile(y!=0){val tmp=x%yx=yy=tmp}x}
//(非递归方式)
def gcd(a:Long,b:Long):Long={if(b==0) a else gcd(b,a%b)
}
最小公倍数=两个数的乘积除以两个数的最大公约数
def lcmLoop(a:Long,b:Long): Long ={var x=avar y=bwhile(y!=0){val tmp=x%yx=yy=tmp}a*b/x}
这篇关于求最大公约数和最小公倍数算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!