两道lisp题求助
lisp吧
全部回复
仅看楼主
level 1
1.定义一个功能返回一个list中的所有偶数
2.定义一个功能,返回一个数字在一个集合中出现的次数,如(occurencesInTree 3 '(((1)(2)(5)(3)((8)3))返回2.
知道伸手可耻,但还是求大神帮忙,谢谢了。[泪]
2014年08月16日 13点08分 1
level 7
刚看到你这个帖子,虽然你可能不需要帮助了。
1、;(s '(a 2 3 (3 4 5 8))) --(2 4 8)
(defun s (lst)
(if (null lst)
nil
(if (atom (car lst))
(if (numberp (Car lst))
(if (evenp (car lst))
`(,(car lst) ,@(s (cdr lst)))
`(,@(s (cdr lst))))
`(,@(s (cdr lst))))
`(,@(s (car lst)) ,@(s (cdr lst))))))
2、;(s 1 '(1 2 (a 3 1) 4))--2
(defun s (x lst)
(if (null lst)
0
(if (equal x (Car lst))
(+ 1 (s x (cdr lst)))
(if (atom (car lst))
(+ 0 (s x (cdr lst)))
(+ (s x (car lst)) (s x (cdr lst)))))))
2015年01月24日 14点01分 5
level 7
这两个函数都是common lisp函数,而且这两个函数仅限于列表类型使用。
2015年01月24日 14点01分 6
1