Thinking in scala (2)---- 最大公约数
2024-10-19 14:47:59
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基本上已经做到最简.
为了方便记忆,用下图表示思考过程:
最新文章
- MQTT开发笔记之《安全传输-自问自答》
- JSON 和 XML 优缺点的比较
- spring security 图解过滤器的使用
- Android Keycode详解
- Django中的分页
- AJAX实现仿Google Suggest效果
- 配置nginx的负载均衡
- 通过 ANE(Adobe Native Extension) 启动Andriod服务 推送消息(一)
- [Leetcode][048] Rotate Image 略详细 (Java)
- Codeforces round #353div2 C
- mysql copy复制拷贝表数据及结构的几种方式(转)
- springMVC源码分析--HandlerInterceptor拦截器调用过程(二)
- PyCharm设置仿sublime配色__Py版本2018.3.5
- Vue源码学习(一)———数据双向绑定 Observer
- Hadoop-2.3.0的Eclipse插件编译
- 随机森林(Random Forest),决策树,bagging, boosting(Adaptive Boosting,GBDT)
- [整]Android开发优化-布局优化
- kickstart命令选项
- mongo嗅探器mongosniff
- Floyd求字典序最小的路径
热门文章
- JS-运动基础(一)续
- http://www.iteye.com/job/topic/1133159
- 动态规划之----我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
- HDU 5480 Conturbatio
- MoQ(基于.net3.5,c#3.0的mock框架)简单介绍
- 业务零影响!如何在Online环境中巧用MySQL传统复制技术【转】
- test命令
- C#入门经典(第五章-2)字符串的处理
- 货物搬运(move)
- iptables-过滤61开头的ip数据包