Rah*_*thy 7 scala range stream
我是Scala初学者,用Project Euler练习我的FP技能.
在研究" 问题5:可以被1到20的所有数字整除的最小正数是多少"时,我正在比较基于范围与流的解决方案:
val r1 = Range(20, Int.MaxValue).find(i => (2 to 20).forall(i % _ == 0)).get
val r2 = Stream.from(20).find(i => (2 to 20).forall(i % _ == 0)).get
Run Code Online (Sandbox Code Playgroud)
奇怪的是,r1的计算在大约20秒内完成,而基于流的r2计算耗尽了内存.我本来期待相反的 - 有人可以解释一下吗?
| 归档时间: |
|
| 查看次数: |
4742 次 |
| 最近记录: |