求最大公约数的递归算法

看 《programing in scala 》里面的例程里面有一个求最大公约数的函数,算法真简洁呀。(以前小学的时候咋不知道还可以这样求公因子呢)

 

 

def gcd(a: Int, b: Int): Int = if (b == 0) a else gcd(b, a % b)

 

翻译成java语言是:

 

int gcd(int a, int b) {

  if(b == 0) {

    return a;

  }

  else {

    return gcd(b, a % b)

  }

}

你可能感兴趣的:(编程,算法,scala)