`
徐风子
  • 浏览: 36809 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

求最大公约数的递归算法

阅读更多

看 《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)

  }

}

分享到:
评论
2 楼 徐风子 2009-08-31  
alanwu 写道
递归终于可以浮出水面了,
大学学编程的时候,老师拼命打压递归,说递归性能差。
现在好了,有Scala编译器优化,可以尽量用递归了。

函数式编程,在外国学界都已经流行几十年了。我们的大学比人家差了多少个等级呀。
1 楼 alanwu 2009-08-24  
递归终于可以浮出水面了,
大学学编程的时候,老师拼命打压递归,说递归性能差。

现在好了,有Scala编译器优化,可以尽量用递归了。

相关推荐

Global site tag (gtag.js) - Google Analytics