2013-01-01から1ヶ月間の記事一覧
http://projecteuler.net/index.php?section=problems&id=412フォーラムに久しぶりに書いた。
http://projecteuler.net/index.php?section=problems&id=412あれこれ工夫して0.25秒になった。Pythonではこれが限界ということにする。
http://projecteuler.net/index.php?section=problems&id=41259着。49秒。 今朝まで考えたが、何も思いつかず。ナイーブな実装で明らかな特徴があるのだが、法則性は見いだせず。しかたなく思いついた唯一のキーワードで検索をしたらあっさり見つかった。実…
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…
http://projecteuler.net/index.php?section=problems&id=410別解法にしたら7分になった。さらにNumpyを使ったら22秒になった。
http://projecteuler.net/index.php?section=problems&id=410コード整理したら12分になった。 もっと速くなるはず。
http://projecteuler.net/index.php?section=problems&id=41028着。 ごり押し1時間17分。明日なんとかする。 こんなのでも10ポイントは確実だ。
各桁が異なる自然数について(2)の続きです。すべての東工大数の平方の和を考えましょう。 平方なので各桁ごとに和を取るというわけにもいきません。ここでは分割統治法を使ってみます。例えば1〜5を1回ずつ使った5桁の数の平方の総和を考えます。120個あり…
各桁が異なる自然数について(1)の続きです。まず、東工大数はいくつあるでしょう。 桁数ごとに考えましょう。1桁なら、1〜9の9個ですね。2桁なら、10〜99から11,22,…99を除くから81個あります。 3桁ならこんなに考え方では難しいですね。10個の数字から3個…
元ネタはこれです。 東工大学長「本学では2013が素数ではないと落胆する学生が多いようですが、ここでは2013のような各桁が異なる自然数を「東工大数」と呼びましょうか。 このネタでProject Eulerの問題になりそうなものが考えられないでしょうか。例えば、…
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…
http://projecteuler.net/index.php?section=problems&id=4085分が53秒になった。既約剰余類群上での割り算に時間がかかっていたのだが、それが簡単なことで速くなった。
http://projecteuler.net/index.php?section=problems&id=408113着。 遅い解法はすぐにわかってのだが、計算量が莫大で無理だと思っていた。しかし、点の数が実は少ないことに昨日気が付いて、今日組んでみたらあっさり答えが出た。 しかし、まだ5分かかって…