タグ

algorithmとprogrammingに関するskelton_boyのブックマーク (10)

  • 貧弱環境プログラミングのススメ――柴田 淳 - @IT

    私の「プロの開発者」としてのキャリアは、同年代の開発者よりちょっと長いと思います。当時、読者からの投稿プログラムを掲載している雑誌がありました。そこに最初に送った短いゲームプログラムが採用されたのです。 中学生のころの話です。自分の作ったプログラムで最初にお金を稼いだのはそのときです。初めてパソコンを買って、1年たたないくらいの時期の出来事でした。 その後縁があって雑誌の編集部に遊びに行き、定期的にお邪魔しては、プログラムを作って掲載してもらうようになりました。中学生にとって、かなりいいお小遣い稼ぎになったように記憶しています。 当時のマシンは非力で、開発環境もいまほど充実してはいませんでした。多くのゲームPCに付属していたBASICというプログラミング言語を使って作られていました。当時のBASICは機能があまり豊富でなく、かつ処理速度に問題がある場合が多く、ちょっと凝ったことをしようと

    skelton_boy
    skelton_boy 2008/09/06
    僕は組み込み屋なので、貧弱な環境の方がコンピュータの原理にふれてる感じがするのはよく分かる。
  • http://acmicpc-live-archive.uva.es/nuevoportal/

  • SQLによる数独の解法:CodeZine

    はじめに SQLを使って数独(ナンプレ)を解く方法を紹介します。 データベースを操作するための言語であるSQLを別の用途に使おうとする理由は、SQLが宣言的な記述が可能な言語の中で最も普及していると思われるからです(宣言的言語と言えばPrologを思い浮かべる方も多いかもしれませんが、残念なことにPrologは、SQLほどには普及していません)。 まず、宣言的な記述について説明しましょう。タクシーに乗ることを想像してください。「渋谷に行ってください」というように、欲しい結果を書くのが宣言的な記述です。具体的な道筋は運転手が考えてくれます。それに対して「まずA通りを北に行って、B交差点を左折して・・・」というように、具体的な道筋を示すのは手続き的記述です。プログラミング言語の場合も同様です。SQLやPrologにおいては、欲しい結果をプログラマが書けば、具体的な実現方法はコンピュータが考えて

    skelton_boy
    skelton_boy 2007/09/06
    SQLの宣言的な記述を積み重ねて、数独の簡単な問題を解く
  • Aaron Toponce : Good Advice For Computer Science Students

  • http://ja.doukaku.org/55/

    skelton_boy
    skelton_boy 2007/09/03
    y * y * y = xになるような実数y(立方根)を小数点以下12桁以上の正確さで求める関数cube_rootを作って下さい。
  • 「ナンプレ」パズルの良問を自動・大量生成する新システム

    SUDOKU」(数独)の名称で人気のパズル「ナンバープレース」(ナンプレ)。同パズルの高品質な問題を自動的に大量生成できるシステムを、タイムインターメディアが開発した。一般的なPCで短時間に問題を作成できる上、パズル作家の考え方を取り入れることで「良問」を生成できるようになっているという。 ナンプレ自体は19世紀末にフランスで登場したものがルーツ。日の出版社「ニコリ」が「数独」と名付けて1984年に掲載し、1997年に日で数独のを目にしたニュージーランド人が2004年11月から英Timesに連載を始め、翌年、ブームに火が付いた。 人気が広がるにつれて問題の需要も増えているが、これに対し「良い問題」の供給が足りていないのが現状という。新システムの開発に当たった同社常務・知識工学センターの藤原博文さんによると、主流はコンピュータによる自動生成だが、良問と悪問の区別がつかない「にわかパズ

    「ナンプレ」パズルの良問を自動・大量生成する新システム
    skelton_boy
    skelton_boy 2007/08/29
    高品質なナンプレの問題を自動的に大量生成できるシステム
  • 簡単CGI: 曜日 ~Zeller(ツェラー)の公式~

    ■ 曜日 ~Zeller(ツェラー)の公式~ 曜日ってどうやって求めるの?と思った方もいらっしゃると思いますが、 実は、求めるための公式があるのです。「Zeller(ツェラー)の公式」といいます。 これで、1582年10月15日(金)以降のある日付の曜日を求めることができます。 年 + 年/4 - 年/100 + 年/400 + (13*月+8)/5 + 日 を7で割ったときのあまりが、 0ならば日曜、1ならば月曜・・・6ならば土曜になります。 (ただし、1月、2月は前年の13月、14月として計算することになっています。) これを、Perlの式で表すとこうなります。 ($year + int($year/4) - int($year/100) + int($year/400) + int((13*$month + 8)/5) + $day) %7 簡単なサンプルを見てみましょう。 <サンプ

    skelton_boy
    skelton_boy 2007/08/24
    1582年10月15日(金)以降のある日付の曜日を求める
  • 生年月日から年齢を計算する簡単な計算式:ITpro

    私の個人ブログに掲載したら好評でしたので、こちらでもご紹介してみます。 最近知ったんですが、生年月日から年齢を計算する簡単な計算式というのがあるそうです。 (今日の日付-誕生日)/10000の小数点以下切捨て。 PHPで書くと echo (int)((20070823 - 19850101)/10000); Perlで書くと print int ((20070823 - 19850101)/10000); JAVAで書くと System.out.println( (int)((20070823 - 19850101)/10000) ); という感じになります。 日の法律を確認してみました。誕生日の前日が終了する瞬間(すなわち誕生日をむかえる午前0時00分の直前)に1歳を加えることになる。ただしうるう年など、年によって期間を定めた場合において最後の月に応当する日がないときは、その月の末日を

    生年月日から年齢を計算する簡単な計算式:ITpro
  • Data Compression with the Burrows-Wheeler Transform | Mark Nelson

    The world is not yet exhausted; let me see something tomorrow which I never saw before. – Samuel Johnson In all chaos there is a cosmos, in all disorder a secret order.– Carl Jung Introduction In mathematics, difficult problems can often be simplified by performing a transformation on a data set. For example, digital signal processing programs use the FFT to convert sets of sampled audio data poin

    Data Compression with the Burrows-Wheeler Transform | Mark Nelson
    skelton_boy
    skelton_boy 2007/08/21
    データ比較のアルゴリズム
  • http://ja.doukaku.org/48/nested/

  • 1