ACSL竞赛考到的Lisp控制符:
1 CAR:保留List中第一部分(可能为一个元素,也可能为一个子List)。
2 CDR:去掉List中第一部分
3 REVERSE:把List中各个部分倒序输出
4 SETQ: 赋值运算符,把一个变量赋值为一个List
例题:
SETQ X = (((a (b c) d) e))((b ( c (d e) b)) a)(a b c)((e d) b(a b)(c e d))
求:(CDR(CDR(CDR(REVERSE(CAR(REVERSE(CDR x)))))))
原式 == ((b ( c (d e) b)) a)(a b c)((e d) b(a b)(c e d))
==((e d) b(a b)(c e d))(a b c)((b ( c (d e) b)) a)
==((e d) b(a b)(c e d))
==((c e d)(a b)b(e d))
==((a b)b(e d))
==(b (e d))
==(e d)