gpt4 book ai didi

algorithm - Scala 堆大小异常中的 Euler 23

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:18:40 25 4
gpt4 key购买 nike

我要解决this Scala 中的问题。我的代码:

def dividers(n: Int) =
(1 until n) filter (x => n%x == 0)

def sumOfDividers(n: Int) = dividers(n).sum

val abNumbers = (1 to 28123) filter (x => sumOfDividers(x) > x)

我的解决方案的下一步是制作一些序列,其中包含 abNumbers 序列中所有可能的丰富数字。我尝试使用增强的 for 循环来执行此操作,但它会在运行时抛出 Java 堆异常。我如何将所有这些总和放入 Stream 结构中?

最佳答案

在范围上使用 toStream 方法:

val abNumbers = ((1 to 28123) toStream).filter (x => sumOfDividers(x) > x)

abNumbers: scala.collection.immutable.Stream[Int] = Stream(12, ?)

还是我遗漏了什么?

关于algorithm - Scala 堆大小异常中的 Euler 23,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13722939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com