【发布时间】:2017-09-18 17:10:23
【问题描述】:
我是 Racket 的新手,我正在尝试定义一个函数,该函数接受一个除数列表和一个数字列表进行测试,并对列表中的每个元素应用直接递归和一个函数“drop-divisible”的除数。
我定义了一个 drop-divisible 函数,它接受一个数字和一个数字列表,并返回一个新列表,其中仅包含那些不能被该数字“非平凡整除”的数字。这个功能不是问题,它有效。所以我遇到的麻烦是要调用这个函数的函数,以及它本身。
这是我想出的。我可以想象这远非正确,但我不知道该怎么做。
(define (sieve-with divisors testlist)
(if (null? divisors)
'()
(begin
(drop-divisible (first divisors) testlist)
(sieve-with (rest divisors) testlist))))
【问题讨论】: