0
我正在选择方案来学习递归,我发现它对我非常好:D但是现在,我有一个问题。我如何做一个叫做thirds的函数来选择一个元素并跳过2并重复这个过程。因此,它返回从第一个元素一个新的列表,每个三重元素例如(thirds '(a b c d e f g h))
的应该返回 (a d g)
使用计划递归创建一个新列表
(DEFINE (thirds lst)
(COND
((NOT(list? lst)) (newline) "USAGE: (thirds [list])")
((NULL? lst) lst)
((NULL? (CDR lst)) (CAR lst))
(ELSE (CONS (CAR lst) (thirds (CDR(CDR(CDR lst))))))))
这就是我的代码都试过,但没有任何真正的运气.. 任何帮助吗?
你错过了一个基本案例。如果你列出的是两个元素长什么? – WorBlux
这个问题已经被回答了几次__最后几天,[这里](http://stackoverflow.com/a/22827083/201359)是我自己的尝试。我想你们都在走相同的路线... –