码迷,mamicode.com
首页 > 其他好文 > 详细

scala programming (2)---- 最大公约数

时间:2014-10-23 19:00:44      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   ar   sp   div   2014   log   

gcd.scala

object gcd{
  def main(args:Array[String]){
    println( gcd1(args(0).toInt,args(1).toInt))
    println( gcd2(args(0).toInt,args(1).toInt))
  }
  def gcd1(x:Int,y:Int):Int={
    var a=x
    var b=y
    while(a!=0){
      var temp=a
      a=b%a
      b=temp
    }
    b
  }
  def gcd2(x:Int,y:Int):Int={
    if(x==0) y
    else gcd2(y%x,x)
  }
}

$ scalac gcd.scala

$ scala gcd 12 21

$ scala gcd 21 12

 

gcd1采用迭代,gcd2 采用递归,gcd1和gcd2基本上已经做到最简.

为了方便记忆,用下图表示思考过程:

bubuko.com,布布扣

 

scala programming (2)---- 最大公约数

标签:style   blog   http   color   ar   sp   div   2014   log   

原文地址:http://www.cnblogs.com/wzm-xu/p/4046440.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!