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

関数のリスト

例えば、0に等しいか調べる関数、...、3に等しいか調べる関数をリストにしたいとします。 preds = [ lambda n: n == 0, lambda n: n == 1, lambda n: n == 2, lambda n: n == 3 ] print preds[0](3) # False print preds[1](3) # False print preds[2](3) # …

Project Euler 386

http://projecteuler.net/index.php?section=problems&id=38660着。朝電車の中で考えていたら思いついた。思いつけばなんということもない。 20分かかっているので明日以降なんとかしたい。

Project Eulerの過去の問題の順位と解答時間

こんなサイトがあるらしい。http://euler-crawler.appspot.com/search/inamori以前は20位以内常連だったこともあるんだよねえ。

解けていない問題

id:rg350 さんなどのパクリ企画。 そろそろなんとかしたい。 Problem 289 Eulerian Cycles オイラー閉路の数え上げ。一般には難しいらしい。これくらい考えた問題は無いが、いまだにまともな方法を思いつかない。 Problem 314 The Mouse on the Moon 関数の…

Project Euler 385(1)

http://projecteuler.net/index.php?section=problems&id=385この考え方でできるような気がするんだけど、なぜかうまくいかない。

結合則が成り立たない場合のfold系の高速化

Modegramming Style: Scalazの型クラスこれを読んでいてふと思ったこと。 結合則が成り立つ場合、畳込み(fold)を行うときリストを分割して並列で計算させれば速くなります。例えばsumですね。1〜100を足し合わせるときに、1〜50と51〜100に分けてそれぞれ…

Project Euler 384(2)

http://projecteuler.net/index.php?section=problems&id=38426着。28秒かかった。 きのう考えたアイディアをなんとかコード化した。 この問題は一見数学的だが、数論の知識は全く要らない。実はコーディングの問題。「Rudin-Shapiro sequence」を検索する必…

Project Euler 384(1)

http://projecteuler.net/index.php?section=problems&id=384なんとなくわかったけど、コードにするのはなかなか難しい。

Project Eulerの各問題が24時間で解かれる回数

昨日の21時と今日の21時にそれぞれ各問題の正答者数を得て、その差を取りました。上は画像なので、データも下につけました。

Project Euler 144 namedtuple

Problem 144ただの高校数学ですが、Pythonのnamedtupleを説明するために使います。namedtupleは中身はタプルでもクラスのように使えるものです。 from collections import namedtuple Point = namedtuple("Point", "x y") これだけでPointクラスのように使え…

Project Euler 383(2)

http://projecteuler.net/index.php?section=problems&id=38353着。 昨日の夜から悩んでいたが、結局、たった一つのタイプミスだった。

Project Euler 383(1)

http://projecteuler.net/index.php?section=problems&id=383ほとんどできていると思うんだが、なぜか合わない。

Project Euler 382(2)

http://projecteuler.net/index.php?section=problems&id=38248着。ずっと符号を間違えていた。 しかし、深夜出題で1回ランクインできなかったただけで、こうもランキングが下がるかねえ。ちょっと前は25位くらいだったのに。