2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

【入門】Common Lisp その10【質問よろず】

62 :デフォルトの名無しさん:2013/03/14(木) 00:43:41.46
フィボナッチ数列を行列のべき乗で求めるやつ書いてみたら
なかなかあほっぽくなっとるからかっちょよく書いとくれ
doはなんか物騒だったので使えんかった
xyzzyで動かしちょる

(defun fibv (n)
(let ((a 1)(b 1) (c 1) (d 0) (a2 1) (b2 1) (c2 1) (d2 0)
(t1 0)(t2 0)(t3 0)(t4 0))
(while (> n 0)
(setq t1 (+ (* a2 a) (* b2 c)))
(setq t2 (+ (* a2 b) (* b2 d)))
(setq t3 (+ (* c2 a) (* d2 c)))
(setq t4 (+ (* c2 b) (* d2 d)))
(setq a2 t1)
(setq b2 t2)
(setq c2 t3)
(setq d2 t4)
(setq n (- n 1)))
d2))

参考
http://itpro.nikkeibp.co.jp/article/COLUMN/20061010/250176/

199 KB
新着レスの表示

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)