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

バッチファイルでProject Euler(2)

関数 前回、Problem 1を解きましたが、その際3と5と15で同じ処理を繰り返していましたね。こういうときに関数を使いたくなるのがプログラマです。 まず簡単な、整数を引数にして5倍する関数を例にしましょう。 @echo off call :five_times 3 echo %ERRORLEVE…

バッチファイルでProject Euler(1)

最近、バッチファイルでコーディングする機会があって、バッチファイルでもがんばれば意外とできるのではと思ったので、Project Eulerを解いてみることにしました。 バッチファイルについては、最初はバッチメモを参考にしました。あとは、コマンドラインでs…

Project Euler 153(6)

最初に戻って、素数のガウス整数の素因数を格納するときに、2つ配列を作ってそれぞれに実部と虚部を格納していましたが、よく考えるとそれぞれは10000以下なので、16ビットごとにそれを格納して一つの整数にすればよいですね。 そうすると、それでも250MBく…

Project Euler 153(5)

5の約数は、1, 2 + i, 2 - i, 5ですが、整数は足して考えてもよいです。ai + bii(ai ≥ bi ≥ 0)に対して1と5を掛けると、ai + bii, 5ai + 5biiとなり、90度回転したbi - aii, 5bi - 5aiiと実部の和を取ると、6ai + 6biとなり、最初から6としたときと同じにな…