Hatena::Groupcadr

わだばLisperになる このページをアンテナに追加 RSSフィード

2004 | 12 |
2005 | 01 | 02 | 07 | 10 | 11 |
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 11 |

2008-07-09

良い数珠繋ぎ、悪い数珠繋ぎ

| 15:20 | 良い数珠繋ぎ、悪い数珠繋ぎ - わだばLisperになる を含むブックマーク はてなブックマーク - 良い数珠繋ぎ、悪い数珠繋ぎ - わだばLisperになる

;; (´д`;)
(do ((i 0 (1+ i))
     (res () (cons i res)))
    ((< 10 i) 
     (do ((x res (cdr x))
          (res () (cons (* 3 (car x)) res)))
         ((endp x) 
          (do ((x res (cdr x))
               (res () (cons (princ-to-string(car x)) res)))
              ((endp x) (nreverse res)))))))

;=> ("0" "3" "6" "9" "12" "15" "18" "21" "24" "27" "30")

;; (:.;゜;Д;゜;.:)
(do ((x (do ((x (do ((i 0 (1+ i))
                     (res () (cons i res)))
                    ((< 10 i) res)) (cdr x))
             (res () (cons (* 3 (car x)) res)))
            ((endp x) res)) (cdr x))
     (res () (cons (princ-to-string(car x)) res)))
    ((endp x) (nreverse res)))

;=> ("0" "3" "6" "9" "12" "15" "18" "21" "24" "27" "30")

末期LOOPマクロ病および、末期DOマクロ病患者のコード

| 14:14 | 末期LOOPマクロ病および、末期DOマクロ病患者のコード - わだばLisperになる を含むブックマーク はてなブックマーク - 末期LOOPマクロ病および、末期DOマクロ病患者のコード - わだばLisperになる

;; 末期LOOP病
(defun fib (n)
  (loop :if (< n 2) 
          :return n
        :else
          :return (+ (fib (1- n))
                     (fib (- n 2)))))

;; 末期DO病
(defun fib (n)
  (do ()
      ((< n 2) n)
    (return 
      (+ (fib (1- n))
         (fib (- n 2))))))