fork download
  1. (defun paikone (seq)
  2. (coerce (apply #'append (map 'list (lambda (x y) (list y x))
  3. (subseq seq 0 (/ (length seq) 2))
  4. (reverse (subseq seq (/ (length seq) 2)))))
  5. (type-of seq)))
  6.  
  7. (defun depaikone (seq)
  8. (coerce (let ((a (loop for i from 1 upto (- (length seq) 1) by 2
  9. collect (elt seq i)))
  10. (b (reverse (loop for i from 0 upto (- (length seq) 2) by 2
  11. collect (elt seq i)))))
  12. (append a b))
  13. (type-of seq)))
  14.  
  15. (let ((pie (print "abcdef"))
  16. (n 1))
  17. (dotimes (_ n) (setf pie (print (paikone pie))))
  18. (dotimes (_ n) (setf pie (print (depaikone pie)))))
  19.  
  20. (terpri)
  21.  
  22. (let ((pie (print '(1 2 3 4 5 6)))
  23. (n 2))
  24. (dotimes (_ n) (setf pie (print (paikone pie))))
  25. (dotimes (_ n) (setf pie (print (depaikone pie)))))
  26.  
Success #stdin #stdout 0.01s 25320KB
stdin
Standard input is empty
stdout
"abcdef" 
"faebdc" 
"abcdef" 

(1 2 3 4 5 6) 
(6 1 5 2 4 3) 
(3 6 4 1 2 5) 
(6 1 5 2 4 3) 
(1 2 3 4 5 6)