タグ

ブックマーク / ytakano.hatenadiary.org (3)

  • 正規表現で素数判定 - NO!と言えるようになりたい

    追記:ハッキリ言ってこの正規表現はネタなので,実際に素数判定を行いたい場合は,もっと別な賢いアルゴリズムを使ったほうが良いです 正規表現で素数が判定できるという記事を見たので試してみた. http://www.noulakaz.net/weblog/2007/03/18/a-regular-expression-to-check-for-prime-numbers/ この記事によると /^1?$|^(11+?)\1+$/ という正規表現を使うと,素数判定が出来るらしい.ある整数 n が素数かどうか判定したい場合は,"1" * nという文字列がこの正規表現にマッチするかどうかを調べればよく,マッチすれば非素数,マッチしなければ素数となる.ただし,"1" * n は,例えば,n が 4 ならば "1111" と 1 が 4 回連続して続く文字列となる. Rubyで書いた素数判定プログラムはこん

    正規表現で素数判定 - NO!と言えるようになりたい
  • emacsでインテリセンス - NO!と言えるようになりたい

    CEDETなるものを使うとわりと簡単にできるらしいので,導入してみた. http://cedet.sourceforge.net/ ダウンロードして解凍して,コンパイルを適当に行う. $ cd cedet-1.0pre7 $ make $ pwd /path/to/cedet-1.0pre7.emacsに設定を追加 ;; CEDET (load-file "/path/to/cedet-1.0pre7/common/cedet.el") (require 'semantic-gcc) (semantic-add-system-include "/opt/local/include" 'c++-mode) (semantic-add-system-include "/opt/local/include" 'c-mode) (semantic-load-enable-gaudy-code-he

    emacsでインテリセンス - NO!と言えるようになりたい
  • Erlangで分散ハッシュテーブルを実装してみた - NO!と言えるようになりたい

    並行言語であるErlangでPeer-to-Peer Network技術の一つである分散ハッシュテーブルを実装してみたところ,わずか1000行程度で実現できました.ノードが頻繁に出たり入ったりする,いわゆるchurn下でもそれなりの性能が出せたので,SourceForge.netで公開してみます.興味のある方はどうぞ. http://sourceforge.net/projects/ermdia/ 内部アルゴリズムはKademliaと呼ばれるものを利用しています.BitTorrent等でおなじみのアルゴリズムですが,データのput/getなどの通常のメッセージの交換時にルーティングテーブルをアップデートするため,ルーティングテーブルの維持コストがChord等に比べて低いという特徴があります.実装もそれなりに簡単で,過去にSymphonyと呼ばれる分散ハッシュテーブルを実装したのですが,それ

    Erlangで分散ハッシュテーブルを実装してみた - NO!と言えるようになりたい
  • 1