[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bep] learning lisp: prime numbers



井上です。

TAKAHASHI Naoto <ntakahas@...> writes:

> ここも改良しましょう。2以外の偶数は絶対に素数じゃないので、最後は 
> (setq i (+ i 2)) で OK です。iは最初1なので、こうすれば奇数だけをチェッ
> クするようになります。

あらら・・・(^^;)

> 今の場合 x が数値であることがわかっているので、equal よりも = を使った
> 方が効率的です。特にある数値がゼロかどうかの判断なら (zerop x) が使え

「同じである」ことの確認方法がeq, equal, =などあるので一番安全そうな
equalにしていました。復習しなければ。eqは確か全然違いますね。

>> (upper (1+ (/ x 2))))
> 
> となってますが、本当の上限は (/ x 2) ではなくて、もっと小さい (sqrt x) 
> です。

絶対に下限はx/2よりもっと小さいところにあるだろうなとは思ったのですが、
でてきませんでした。以下の6n +-1も同様です。

>> (if (>= i upper) t nil)
> 
> ですが、これは単なる (>= i upper) と完全に同等です。

これは失礼。
# 指摘されたのがn高橋さんでよかった(ほっ)

> と、なんだか偉そうなことを書いてますが、実は私は高校時代、ずっと数学に
> は苦しめられてきました。数学は決して嫌いじゃないし、自分では好きなつも
> りなんですが、テストの成績はいつも平均以下でした。国語と英語の成績が比
> 較的よかったこともあり、周囲の人間からは「なんでお前が理系を希望するん
> だ?」と不思議がられたものです。

# ええと、、、
# 私の卒業学科が「数理額研究科」だなんて言ったら大学に申し訳ない・・・
# 世の中の学生なんてそんなもんでしょう。(自信なし)

-- 
                    Koichi Inoue, ARGV
                    E-Mail: inoue@...
                    ICQ UIN: 74900690