我想用scala解决this问题。
我的代码:
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堆异常如何将所有这些总和放入流结构中? 最佳答案
对范围使用tostream方法:
val abNumbers = ((1 to 28123) toStream).filter (x => sumOfDividers(x) > x)
abNumbers: scala.collection.immutable.Stream[Int] = Stream(12, ?)
还是我遗漏了什么?