2010-12-01から1ヶ月間の記事一覧

rowlの開発を始めて1年が経ちました

1年前の今日、アセンブリで数十行のechoプログラムを作成しました。 それを徐々に育てて、今日ではソースコード行数がトータルで1万5千行を超えていました。 1年でたったこれだけかという気がしなくもないですが、趣味プログラムにしてはそれなりに進んだの…

Project Euler (13〜50)

50問目まで解きました。数学を使って工夫すると速く解けたりするようなものについてだけ自分の解答を書きます。 Problem 15 20x20のグリッドの左上から右下までの最短経路数を求めよ これは2項係数、 の値を計算すれば良いです。2項係数の値はパスカルの三…

Project Euler (Problem 3〜10)

8問ときました。 Problem 3 600851475143の最大素因数を求めよ 「素因数分解せよ」ではなく「最大素因数だけ求めよ」ですから素数のテーブルは作りたくないので、反復により求める事を考えます。 整数Nを素因数分解してみると となりますが、これの最小の素…

Project Euler Problem 12

これはかなりの良門ではないでしょうか。 約数の数が500以上になる最初の三角数を求めよ三角数とは以下の式で書けるものです。 Nの素因数分解が下のようになる時 約数の個数は となります。また、互いに素な2数は指数が重複しないですから、 nが奇数なら で…

Project Euler始めた

Project Euler解き始めました。自分の数学の勉強も兼ねて、できるだけプログラムでの力技の計算は避けようと思っています。どうしてもプログラミングが必要なやつは、あとでrowlで書こうと思ってます。 Problem 1 1000未満の3または5の倍数の和を求めよ 集合…

母関数を使って括弧のパターンを求めてみた

n個の対応する括弧のパターンの数を母関数を使って求めてみました。 これはid:nobsunさんが指摘なさっているようにカタラン数という数になるんですが、そういう前提知識なしで機械的に解きたいような場合に使えます。 いろんな教科書があると思いますが、私…

rowlの式

rowlの式として以下の定義を使う方針にしました。その為、いろいろと実装の修正を行っています。 原始式(シンボル,整数リテラル,浮動小数点数リテラル,文字列)は式である。 hがシンボル,e1,...,enが式の時 h(e1, .., en)は式である。hを式のheadと言う。…