[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bep] learning lisp: prime numbers
- To: bep@argv.org
- Subject: Re: [bep] learning lisp: prime numbers
- From: TAKAHASHI Naoto <ntakahas@m17n.org>
- Date: Sun, 8 Jul 2001 12:09:46 +0900 (JST)
- Delivered-To: mailing list bep@argv.org
- Mailing-List: contact bep-help@argv.org; run by ezmlm
- User-Agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/21.0.104 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)
n高橋です。
WATANABE Takayuki writes:
>>> x が素数であるかどうか調べるには、(sqrt x) 以下の素数で
>>> 割り切れるかどうかだけを調べればいいことになります。
> これは自明ではないですか?
> xが2つの数の積で書けるならば、片方は (sqrt x) 以上で、もう片方は
> (sqrt x) 以下になるのは自明です。
> # そうでなかったら積が x より大きくなってしまいます。
ナカオさんがちゃんと証明してくれましたが、「(sqrt x) 以下」という部分
は自明と言っていいと思います。
私がちょっと引っかかったのは、「素数」で割ってみるだけでいいという点で
す。ちゃんと考えてみれば訥得できるのですが、素数を求めるプログラムなん
てこれまで何回も読んだり書いたりしてきたにもかかわらず、合成数で割る部
分を省いて高速化した経験はありませんでした。そのためか私にとっては、
「素数で割ってみるだけでよい」という点は「(sqrt x) 以下の数で割ってみ
るだけでよい」という点に比べて自明度が低かったんです。「(sqrt x) 以下
の数で割ってみるだけでよい」の方の自明度を「そんなの当然じゃん」だとす
ると、「素数で割ってみるだけでよい」の方の自明度は「えーと、うん、言わ
れてみればそうだね」くらいの感じでした。個人的な感覚の問題かもしれませ
ん。
話題がちょっと BEP から離れ過ぎましたね。済みません。
あと昨日初めて知ったのですが、emacs@argv.org というメーリングリストも
あるんですね。私はまだ参加していないのですが、Emacs Lisp の話はもしか
したらそっちでやった方がふさわしいのでしょうか? だったら移動しますが。
--
TAKAHASHI Naoto
ntakahas@...
http://www.m17n.org/ntakahas/