タグ

algorithmとcに関するakishin999のブックマーク (2)

  • RubyとC言語でもペントミノバズルを解いてみる - ザリガニが見ていた...。

    前回からの続き。 明治ミルクチョコーレートパズルの解をすべて探す - ザリガニが見ていた...。 ペントミノの解を求めるプログラム高速化 - ザリガニが見ていた...。 ペントミノパズルを解くPythonコードは、順調に高速化の道を歩んできた。 3時間以上 → 50分 → 20分 → 3分。 ところで、現在はnumpyにほとんど依存しないコードになっている。ならば、他のプログラミング言語でも同じアルゴリズムでペントミノパズルを解けるはず。ふと、使い慣れているRubyで書いてみたらどうなるのだろう?と思った。やってみた。 Rubyで解く 完全にPython脳になっていたので、endが必要な書き方に激しく無駄を感じてしまった。 いくつかのエラーに悩まされながら、どうにか以下のRubyコードを完成させた。 実行してみると... # coding: utf-8 BROW, BCOL = 10, 6

    RubyとC言語でもペントミノバズルを解いてみる - ザリガニが見ていた...。
  • C - でも一番右端の立っているビット位置を求めてみた : 404 Blog Not Found

    2009年07月07日03:30 カテゴリMathLightweight Languages C - でも一番右端の立っているビット位置を求めてみた 素晴らしい。 2009-07-04 - 当面C#と.NETな記録 問題の説明はここまでにして、コードの紹介です。Hacker's delight のコードより4〜5倍速く、そして、イミフ加減が半端じゃない!これ一つで 64bit 値以下のすべての値に対応できます。 でも、実際にどれくらい威力があるか試してみたかったのでCに移植してみた。意外な結果が出ております。 0x03F566ED27179461ULL まずは黒魔術。より黒魔術っぽくしてみました。 typedef unsigned long long U64; #define HASH 0x03F566ED27179461ULL static int ntzhash[64]; void i

    C - でも一番右端の立っているビット位置を求めてみた : 404 Blog Not Found
  • 1