みなさん再帰での実装ばかりですが、Common Lisp では再帰よりも繰返しを使っ
て書くことのほうが多いです。
参考: http://www.lisp.org/table/style.htm#efficiency
copy-list の 7 種類の実装が載っているあたり。

[問3] 繰返し(dolist, dotimes, do, do*, loop 等) を使って問1を解け。