Re: [請益] 沒有想像中簡單的小問題

看板Programming作者 (喲)時間16年前 (2009/03/22 21:09), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串14/34 (看更多)
ANSI Common-Lisp 版本: (setf x '(3 4 5 6 7)) (defun repeat-cdr (x i) (cond ((= i 0) x) (t (repeat-cdr (cdr x) (- i 1))) ) ) (defun item (x i) (cond ((= i 1) (cons (car x) nil)) (t (append (item x (- i 1)) (cons (car (repeat-cdr x (- i 1))) nil))) ) ) (defun ascend (n) (cond ((= n 1) (cons n nil)) (t (append (ascend (- n 1)) (cons n nil))) ) ) (defun palindrome (n) (cond ((= n 1) (cons n nil)) (t (append (ascend (- n 1)) (cons n nil) (reverse (ascend (- n 1))))) ) ) (defun odd-size (x) (cond ((null (car x)) nil) ((= 0 (mod (length (car x)) 2)) (odd-size (cdr x))) (t (cons (car x) (odd-size (cdr x)))) ) ) (defun diamond (x) (odd-size (mapcar #'(lambda (y) (item x y)) (palindrome (length x)))) ) (defun print* (x) (cond ((atom x) (princ x)) ((listp x) (mapcar #'(lambda (y) (print* y)) x) (terpri)) ) ) (defun repeat-print (x i) (cond ((< i 1) nil) ((= i 1) (princ x)) (t (repeat-print x (- i 1)) (princ x)) ) ) (mapcar #'(lambda (y) (repeat-print #\space (/ (- (length x) (length y)) 2)) (print* y)) (diamond x)) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.112.224.95

03/24 02:30, , 1F
忽然有點想po一篇偽whitespace版XD
03/24 02:30, 1F

03/24 02:30, , 2F
算了怕被噓:p
03/24 02:30, 2F

03/24 09:03, , 3F
whitespace 好阿 XDDD
03/24 09:03, 3F
文章代碼(AID): #19ngace1 (Programming)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 14 之 34 篇):
文章代碼(AID): #19ngace1 (Programming)