@@@ 1150862458.txt @@@
素数を求める
(defun generatePrimes (n)
(let ((prime nil))
(push 2 prime)
(do ((x 3 (+ x 2)))
((> x n))
(if (dolist (i prime t) (if (zerop (rem x i)) (return nil)))
(push x prime)))
(format t "~{ ~A~}~%" (nreverse prime))))
2006-06-22 (Thu) 00:39:48
@@@ 1150890505.txt @@@
素数を求める
(defun generate-primes (limit)
(format t "~{ ~D~}~%"
(funcall (lambda (f c n &optional (x 3) (prime '(2)))
(funcall f f c n x prime))
(lambda (f c n x prime)
(if (> x n)
(nreverse prime)
(if (funcall c c x prime)
(funcall f f c n (+ x 2) (cons x prime))
(funcall f f c n (+ x 2) prime))))
(lambda (c x prime)
(if (endp prime)
t
(if (zerop (rem x (car prime)))
nil
(funcall c c x (cdr prime)))))
limit)))
2006-06-21 (Wed) 23:46:53
@@@ 1150889360.txt @@@
素数を求める
(defun generate-primes (limit)
(labels ((check (x prime)
(cond ((endp prime)
t)
((zerop (rem x (car prime)))
nil)
(t
(check x (cdr prime)))))
(main (n x prime)
(cond ((> x n)
(nreverse prime))
((check x prime)
(main n (+ x 2) (cons x prime)))
(t
(main n (+ x 2) prime)))))
(format t "~{ ~D~}~%" (main limit 3 '(2)))))
2006-06-21 (Wed) 23:38:16
@@@ 1150890505.txt @@@
素数を求める
(defun generate-primes (limit)
(funcall (lambda (f c n &optional (x 3) (prime '(2)))
(funcall f f c n x prime))
(lambda (f c n x prime)
(if (> x n)
(nreverse prime)
(if (funcall c c x prime)
(funcall f f c n (+ x 2) (cons x prime))
(funcall f f c n (+ x 2) prime))))
(lambda (c x prime)
(if (endp prime)
t
(if (zerop (rem x (car prime)))
nil
(funcall c c x (cdr prime)))))
limit))
2006-06-21 (Wed) 20:49:42
@@@ 1150889360.txt @@@
素数を求める
(defun generate-primes (limit)
(labels ((check (x prime)
(cond ((endp prime)
t)
((zerop (rem x (car prime)))
nil)
(t
(check x (cdr prime)))))
(main (n x prime)
(cond ((> x n)
(nreverse prime))
((check x prime)
(main n (+ x 2) (cons x prime)))
(t
(main n (+ x 2) prime)))))
(format t "~{ ~D~}" (main limit 3 '(2)))))
2006-06-21 (Wed) 20:47:53
@@@ 1150343823.txt @@@
xyzzy lisp : format ~D
-整数データの10進表記
-":D" カンマ区切り
-"@D" 常に符号付き
-":@D" 上記の組み合わせ
-パラメータは最大4つ
--最小桁(幅)
--足りない空きを埋める文字
--区切りに使う文字
--区切りを入れる間隔
-後ろ2つは":D"と":@D"のときのみ有効。"D"と"@D"では無視される。
(format nil "~D" 12345)
"12345"
(format nil "~:D" 12345)
"12,345"
(format nil "~@D" 12345)
"+12345"
(format nil "~:@D" 12345)
"+12,345"
(format nil "~10D" 12345)
" 12345"
(format nil "~10,'*D" 12345)
"*****12345"
(format nil "~10,'*:@D" 12345)
"***+12,345"
(format nil "~10,'*,'-,2:D" 12345)
"***1-23-45"
2006-06-18 (Sun) 17:18:57
@@@ 1150429975.txt @@@
xyzzy lisp : format ~B
-整数データの10進表記
-":B" カンマ区切り
-"@B" 常に符号付き
-":@B" 上記の組み合わせ
-パラメータは最大4つ
--最小桁(幅)
--足りない空きを埋める文字
--区切りに使う文字
--区切りを入れる間隔
-後ろ2つは":B"と":@B"のときのみ有効。"B"と"@B"では無視される。
(format nil "~B" #b11010)
"11010"
(format nil "~:B" #b11010)
"11,010"
(format nil "~@B" #b11010)
"+11010"
(format nil "~:@B" #b11010)
"+11,010"
(format nil "~10B" #b11010)
" 11010"
(format nil "~10,'*B" #b11010)
"*****11010"
(format nil "~10,'*:@B" #b11010)
"***+11,010"
(format nil "~10,'*,'-,2:B" #b11010)
"***1-10-10"
2006-06-16 (Fri) 12:53:08
@@@ 1150084604.txt @@@
(defun delete-blank-lines-region (start end)
(interactive "*r")
(save-restriction
(narrow-to-region start end)
(save-excursion
(goto-char (point-min))
(while (and (scan-buffer "^$" :no-dup t :regexp t)
(not (eobp)))
(delete-blank-lines)))))
2006-06-12 (Mon) 15:41:39
@@@ 1149244010.txt @@@
format 途中
~a 4 : @
~s 4 : @
~d 4 : -
~b 4 : -
~o 4 : -
~x 4 : -
~r 5 : @ :@
~p 0
~c 0
~f 5
~e 7
~g 7
~$ 4
~% 1
~& 1
~| 1
~~ 1
~\n 0
~t 2
~* 1
~w ???
~? 0
~( 0
~[ :0, @0, 1
~{ 1
~^ 3
2006-06-05 (Mon) 12:50:17
@@@ 1149134240.txt @@@
xyzzy lisp : format
リファレンスで「~W」が抜けている
2006-06-01 (Thu) 12:58:03
@@@ 1149096693.txt @@@
defpackage の OPTIONS に指定できるもの
-:nicknames
-:shadow
-:shadowing-import-from
-:use
-:import-from
-:intern
-:export
-:internal-size
-:external-size
2006-06-01 (Thu) 02:32:05
@@@ 1146533747.txt @@@
Scrapbook : サッカーの得点とポアソン分布(TAKENAKA's Web Page:)
http://takenaka-akio.cool.ne.jp/etc/fifa_poisson/
2006-05-29 (Mon) 17:48:47
@@@ 1148874864.txt @@@
xyzzy topic : はてな関連 xyzzy 拡張 Lisp まとめ
http://d.hatena.ne.jp/asane/20060522#p3
2006-05-29 (Mon) 12:55:10
@@@ 1148874745.txt @@@
xyzzy topic : はてな関連 xyzzy 拡張 Lisp まとめ
http://d.hatena.ne.jp/asane/20060522#p3
2006-05-29 (Mon) 12:55:04
@@@ 1148315309.txt @@@
2006-05-23 「A・E・H・R・T」でできるすべての文字列を表示するプログラム
http://d.hatena.ne.jp/tamago_girai/20060522#p1
pushが失敗だった。訂正版。
(defun a-e-h-r-t (rest &optional pool)
(if (= 1 (length rest))
(format t "~{~A~}~%" (reverse (cons (car rest) pool)))
(dolist (x rest)
(a-e-h-r-t (remove x rest) (cons x pool)))))
(a-e-h-r-t '(a e h r t))
2006-05-23 (Tue) 02:18:00