【发布时间】:2020-03-17 11:12:08
【问题描述】:
对于一个大学项目,我必须实现一个名为 takeNthEven 的函数,它在 foldLeft 的帮助下找到列表中的第 n 个偶数。例如:
takeNthEven(SinglyLinkedIntList(0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15,18,5,3), 3)
应该返回:SinglyLinkedIntList(4, 10,18)
到目前为止我的尝试:
def takeNthEven(input: IntList, n: Int): IntList = {
var temp = SinglyLinkedIntList()
input.foldLeft(0 -> 0) {
case(acc,n) => if (acc == 2 || !(2 to (acc-1)).exists(x => i % x == 0)) temp.append(acc)
}._n
}
但不幸的是,这甚至无法编译。我不确定如何继续使用此算法,有人可以帮我解决这个问题吗?我是函数式编程的新手,不知道该怎么做
【问题讨论】:
-
您能否提供更多输入和预期输出数据,并多解释一下您想要实现的目标?
标签: scala list data-structures primes foldleft