タグ

Puzzleとmathに関するyouzのブックマーク (3)

  • Loading...

  • SQLパズル:素数を求める(別解) - ミックのブログ

    SQL数学パズルを解く(数論編)」の素数を求める問題について、泉さんという方からメールでうまい別解を教えていただいたので、紹介します(オリジナルに少し私の方で手を加えました)。 SELECT Dividend.num as prime FROM Numbers Dividend, Numbers Divisor WHERE 1 < Dividend.num AND Divisor.num <= SQRT(Dividend.num) --約数は被除数の平方根以下 GROUP BY Dividend.num HAVING SUM(CASE WHEN MOD(Dividend.num, Divisor.num) = 0 THEN 1 ELSE 0 END) = 1 --1でしか割り切れない ORDER BY prime; SQRT関数が使えない場合は、「Divisor.num <= SQRT

    SQLパズル:素数を求める(別解) - ミックのブログ
  • 独習 Scheme 三週間 Teach Yourself Scheme in Fixnum Days

    非決定性 McCarthy の非決定性オペレータ amb [cite{jmc:amb}, cite{wc:amb}, cite{zmc:amb}] は Lisp 自身と同じくらい古いものですが、Lisp にはありません。amb は 0個あるいはそれ以上の式を引数としてとり、それらの、非決定的な (あるいは「あいまいな」)な選択を作ります。プログラムを意味のあるものに 収束させるこれらの選択を好んでつかいます。ここで、 曖昧選択の深さ優先選択をつかい、他の選択肢を探索するための バックトラックに Scheme の制御オペレータ call/cc を使う amb の Scheme への埋め込みについて検討しましょう。 結果は、拡張言語にたよることなく、Scheme で直接書けるような 探索問題の分野で使用できるエレガントなバックトラッキング戦略が できあがります。この埋め込みは Prolog

  • 1