小编bub*_*ada的帖子

如何删除LISP中的嵌套括号

如何在Common LISP中递归删除嵌套括号,例如

  (unnest '(a b c (d e) ((f) g))) => (a b c d e f g)
  (unnest '(a b))                 => (a b)
  (unnest '(() ((((a)))) ()))     => (a)
Run Code Online (Sandbox Code Playgroud)

谢谢

lisp common-lisp parentheses

18
推荐指数
6
解决办法
1万
查看次数

等价类LISP

我需要为等价类编写一个程序并获得此输出...

(equiv '((a b) (a c) (d e) (e f) (c g) (g h))) 
 => ((a b c g h) (d e f))

(equiv '((a b) (c d) (e f) (f g) (a e)))
 => ((a b e f g) (c d))
Run Code Online (Sandbox Code Playgroud)

基本上,A集是一个列表,其中顺序无关紧要,但元素不会出现多次.该函数应该接受对(这是根据一些等价关系相关的元素)的列表,并返回一组等价类,而无需使用迭代或赋值语句(如do,set!等).

然而,设置实用程序,如set-intersection,set-union和消除列表中的重复和内置函数的函数union,intersection以及remove-duplicates被允许的.

非常感谢!

顺便说一下,这不是一个家庭作业问题.我的一个朋友需要这段代码来解决微笑问题.

lisp class equivalence

5
推荐指数
1
解决办法
481
查看次数

递归跟踪

让我们假设我有一个Foo循环.

int Foo(int n)
{
   if (n <= 1)
      return 2;
   else
      return Foo(n-1) * Foo(n-2) * Foo (n-3);
}
Run Code Online (Sandbox Code Playgroud)

如果我打电话给Foo(3)会有多少电话会发生...

谢谢

recursion

2
推荐指数
1
解决办法
1107
查看次数

使用Common Lisp可以做些什么?

我开始学习CLISP.我应该改善自我.这种编程语言可以做些什么?这是为了什么.我很感激你的回答和评论.谢谢.

lisp clisp

0
推荐指数
2
解决办法
460
查看次数

标签 统计

lisp ×3

class ×1

clisp ×1

common-lisp ×1

equivalence ×1

parentheses ×1

recursion ×1