タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

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

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

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

    RubyとC言語でもペントミノバズルを解いてみる - ザリガニが見ていた...。
  • 整数に丸める時の注意 - DiaryException

    Pythonだと >>> round(1.5) 2.0 >>> round(2.5) 3.0 >>> round(3.5) 4.0 >>> round(4.5) 5.0 Rだと > round(1.5) [1] 2 > round(2.5) [1] 2 > round(3.5) [1] 4 > round(4.5) [1] 4 round(偶数.5)の結果は実装によって異なるらしい。端数処理 - Wikipediaによれば、整数に丸めるには少なくとも2つの方式があり、算数で習った「四捨五入」と、元の値に近い偶数側に丸める「最近接偶数への丸め」が含まれる。 四捨五入だと整数間のちょうど真ん中の数値であるX.5が常に正側に丸められることで、丸めた値の総和が下の値の総和よりずっと大きくなる一方で、最近接偶数への丸めはX(偶数).5の場合負側に丸められるため、全体としてバイアスが小さくなるという性

    整数に丸める時の注意 - DiaryException
  • 1