alanjt 发表于 2022-7-6 11:36:14

 
 
No kidding, good stuff!

gile 发表于 2022-7-6 11:42:26

Here's a better implementation of I+
 

(defun I+ (s / foo) (defun foo (l1 l2)   (cond   ((= (car l1) (cadddr l1) (car l2))      (if (cdr l2)      (foo (cons (cadr l2) (cdddr l1)) l2)      l1      )   )   ((and (= (cadr l1) (cadr l2)) (= (caddr l1) (car l2)))      (cons (cadr l2) (cdddr l1))   )   ((and (= (cadr l1) (caddr l2)) (= (caddr l1) (car l2)))      (foo (cons (caddr l2) (cdddr l1)) (cddr l2))   )   ((and (= (car l1) (caddr l1) (cadr l2)) (= (cadr l1) (car l2)))      (cons (caddr l2) (cons (car l2) (cdddr l1)))   )   (T l1)   ) )(vl-list->string   (reverse   (foo (cons 73 (reverse (vl-string->list s))) '(73 86 88 76 67 68 77))   ) ))
页: 1 [2]
查看完整版本: Roman numbering (incerment)