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

Project Euler 412(3)

http://projecteuler.net/index.php?section=problems&id=412フォーラムに久しぶりに書いた。

Project Euler 412(2)

http://projecteuler.net/index.php?section=problems&id=412あれこれ工夫して0.25秒になった。Pythonではこれが限界ということにする。

Project Euler 412

http://projecteuler.net/index.php?section=problems&id=41259着。49秒。 今朝まで考えたが、何も思いつかず。ナイーブな実装で明らかな特徴があるのだが、法則性は見いだせず。しかたなく思いついた唯一のキーワードで検索をしたらあっさり見つかった。実…

Project Euler 411

http://projecteuler.net/index.php?section=problems&id=411112着。9分。 帰りの電車の中でn = 19の点を計算して、それを手描きでプロットして、答えを求めて、そしてそれを眺めていたら、驚くべき解法を思いついた。その解法を手で実行してそれが成り立つ…

配列の最大値を得る

昨日・今日と珍しくJavaScriptを書いていたところ、配列の最大値を例えばPythonのように、 numArray = [ 3, 1, 4 ] max(numArray) こんな風に書けないかと考えました。検索すると、 Math.max.apply(null, numArray); Math.max - JavaScript | MDN このapply…

Project Euler 410(3)

http://projecteuler.net/index.php?section=problems&id=410別解法にしたら7分になった。さらにNumpyを使ったら22秒になった。

Project Euler 410(2)

http://projecteuler.net/index.php?section=problems&id=410コード整理したら12分になった。 もっと速くなるはず。

Project Euler 410

http://projecteuler.net/index.php?section=problems&id=41028着。 ごり押し1時間17分。明日なんとかする。 こんなのでも10ポイントは確実だ。

各桁が異なる自然数について(3)

各桁が異なる自然数について(2)の続きです。すべての東工大数の平方の和を考えましょう。 平方なので各桁ごとに和を取るというわけにもいきません。ここでは分割統治法を使ってみます。例えば1〜5を1回ずつ使った5桁の数の平方の総和を考えます。120個あり…

各桁が異なる自然数について(2)

各桁が異なる自然数について(1)の続きです。まず、東工大数はいくつあるでしょう。 桁数ごとに考えましょう。1桁なら、1〜9の9個ですね。2桁なら、10〜99から11,22,…99を除くから81個あります。 3桁ならこんなに考え方では難しいですね。10個の数字から3個…

各桁が異なる自然数について(1)

元ネタはこれです。 東工大学長「本学では2013が素数ではないと落胆する学生が多いようですが、ここでは2013のような各桁が異なる自然数を「東工大数」と呼びましょうか。 このネタでProject Eulerの問題になりそうなものが考えられないでしょうか。例えば、…

Project Euler 409

http://projecteuler.net/index.php?section=problems&id=40930着。 ちゃんと考えればこれは易しい。実質8行。

既約剰余類群

剰余類 まずは剰余類の説明からします。例えば15の剰余で考えます。2と17と32は15で割ると余りが2になります。これらは同じとみなして剰余類と呼びます。 H0 = { …, -15, 0, 15, 30, … } H1 = { …, -14, 1, 16, 31, … } H2 = { …, -13, 2, 17, 32, … } … -13…

Project Euler 408(2)

http://projecteuler.net/index.php?section=problems&id=4085分が53秒になった。既約剰余類群上での割り算に時間がかかっていたのだが、それが簡単なことで速くなった。

Project Euler 408

http://projecteuler.net/index.php?section=problems&id=408113着。 遅い解法はすぐにわかってのだが、計算量が莫大で無理だと思っていた。しかし、点の数が実は少ないことに昨日気が付いて、今日組んでみたらあっさり答えが出た。 しかし、まだ5分かかって…