プログラミング

Project Euler 459(1)

http://projecteuler.net/index.php?section=problems&id=459問題見て、これはダメだと思った。眠いし考えられない。 風呂に入ったときに考えてみたが、繰り返しになる。どこか読み間違えている。上がってから読んだら、読み飛ばしていたらしい。 次の日の朝…

Project Eulerの問題を作る

全問正解を達成したので、最近は問題作りをしている。Project Eulerでは誰でも出題することができる。ログインしてフォームに問題とコードと解説を貼りつけてサブミットするだけだ。もちろん英語で書かなければならないので、そこにはハードルがある。土曜日…

Project Euler 458

http://projecteuler.net/index.php?section=problems&id=45830着。5ms。 最初なかなかわからなかったので、買い物に行こうとしたら、なにか思いついた。買い物している間にちゃんと考えて、組んだらまたこの順位。

Project Euler 457

http://projecteuler.net/index.php?section=problems&id=45748着。41秒。 ちょっと考えて、いつものアレだと気が付いた。慎重に組んで、まだ5人しか解けていないときにサブミットしたが、アウトだった。 ナイーブな実装もいちおう書いてみて、3000まで調べ…

Project Euler 456

http://projecteuler.net/index.php?section=problems&id=45661着。13秒。 O(NlogN)の解法がすぐに思いついたが、なかなかデバッグが進まなかった。 人工的で簡単な例を使えばよかった。

Project Euler 455

http://projecteuler.net/index.php?section=problems&id=45530着。 最近これくらいの順位が多い。 よくわからなかったので、基本的な公式に立ち戻って考えたら解けた。 しかし、遅い。26分もかかった。ちょっと重複が多かったようだ。それをなくしてそれか…

Project Euler 453

http://projecteuler.net/index.php?section=problems&id=45330着。ごり押し4コアで11時間。土曜日の深夜1時の出題で、いつもより夜更かししたが、問題は見ず。寝坊して8時過ぎに起きて問題を見る。まだ誰も解けていない。これは超難問が来た。その日は買い…

Project Euler 454

http://projecteuler.net/index.php?section=problems&id=45436着。63秒。 わかってからすぐに答えが出なかった。ほとんど頻出技術で、1個だけ理屈がわかって組んだことがない部分があったが、バグがなかなか取れなかった。

Project Euler 452

http://projecteuler.net/index.php?section=problems&id=45217着。26秒。 こういう問題になるとPythonというかLL言語は威力を発揮する。剰余は最後に取ればいいのだ。まともに計算してもたったの200桁あまり。これをきちっと剰余取りながら計算しようとした…

Project Euler 226

Problem 226この曲線は高木曲線としても知られています。高木とはもちろん高木貞治のことです。 この問題を解くにあたり、連続性と微分不可能性についての証明を考えたのですが、めんどうなのでここには書きません。 フォーラムに書きました。

Project Euler 314

http://projecteuler.net/index.php?section=problems&id=314326着。27秒。 ついにパーフェクトを達成した。ずっと問題を読み間違えていた。というかたぶんロクに読んでいなかった。月曜の夜寝る前になんとなく和訳を読んでみたら完全に間違っていたことに気…

Project Euler 451

http://projecteuler.net/index.php?section=problems&id=45185着。15分。 日曜はうまく書けず、今朝ジョギングしながら考えを整理した。 帰ってから書いてみたら、PyPyで2分くらいかかりそう。しかし、実際に動かしてみるとメモリが足りない。Pythonでも足…

Project Euler 450

http://projecteuler.net/index.php?section=problems&id=45023着。1秒。 日曜は何も思いつかなかった。 月曜の朝に、実はこの問題はそんなに難しくないことに気が付いた。 この問題は2つの部分に分けることができる。月曜の夜に半分をなんとか書いた。まだ…

Project Euler 227(3)

Problem 227 フォーラムに書きました。

Project Euler 449

http://projecteuler.net/index.php?section=problems&id=44930着。 スタンバイしたが許された時間は1時間半。一瞬楕円体から楕円体を引くだけなんじゃ、と思ったが、さすがにそれはない。少し考えればそれではダメなことがわかる。しかし、これを解くにはど…

Project Euler 448

http://projecteuler.net/index.php?section=problems&id=44813着。90秒。 出かけていて電車の中でコーディングだけして、あとは帰ってPCで動かすだけだった。帰って動かしつつログインしようとするが入れない。何度やってもダメ。TLを見てみると、7人しか正…

Project Euler 447

http://projecteuler.net/index.php?section=problems&id=44736着。99秒。 わかってしまえばなんということもなかった。 この問題は前の2問とは解き方が違う。わからなければ一歩前に戻ればいい。 久しぶりに週末に終われなかったが、結果的に3問とも50位以…

Project Euler 446

http://projecteuler.net/index.php?section=problems&id=44631着。 こっちの方が簡単。n4 + 4は高校数学を思い出すだけ。 ふつうに書くとメモリが足りないが、ちょっとだけ工夫したらギリギリ足りた。

Project Euler 445

http://projecteuler.net/index.php?section=problems&id=44540着。Pythonで6分もかかった。PyPyは遅かった。 いつもと違う特殊なことをして手間取った。ふつうに書くとO(N^2)になってしまう。

Project Euler 444

http://projecteuler.net/index.php?section=problems&id=44431着。0.7s。 前段は、電車の中で考えようと思ったけど、アメリカの尻拭いのせいか、やけに混んでいて無理だった。昼食で定食を食べているときにノートに計算していたらわかった。後段はまったく…

Project Euler 220(2)

Problem 220 forumに書きました。

Project Euler 443

http://projecteuler.net/index.php?section=problems&id=44362着。 朝起きて問題見たらすでに54人も解いていた。超Easy問題はいつもこの時間に出ているような気がする。 この問題は実験してみるとわかる。 Pythonで16秒、PyPyで3.4秒だった。

Project Euler 328

http://projecteuler.net/index.php?section=problems&id=328267着。 春ごろに見直して、これは再帰的な問題だろうと考えていたら、そのうちに解法がわかった。しかし、なかなか実装がうまくいかない。折れ線の関数を考えるのだが、その演算が合わない。暇な…

Project Euler 442

http://projecteuler.net/index.php?section=problems&id=44252着。 昨日問題が出てすぐに解法を思いついた。ただ実装が大変だ。2/3くらい書いて早めに寝た。今朝起きて残りを書いて、E(10000)とかがナイーブな実装と合っていることを確認してE(1018)を計算…

Project Euler 352

http://projecteuler.net/index.php?section=problems&id=352344着。40分。2年ぶりに解けた。 昨日の朝、ちょっとの時間で問題を見直すために、和訳が無いか検索したら和訳サイトが復活していた。それを読んで電車の中で考えたら、簡単なことに気が付いた。…

Project Euler 441

http://projecteuler.net/index.php?section=problems&id=44124着。 これはProject Eulerに典型の問題。初期からのパターンだ。そう思って考えるとすぐにわかった。しかし、なかなかバグが取れない。N=10で地道にデバッグした。5時間近くかかってやっとたど…

Project Euler 440

http://projecteuler.net/index.php?section=problems&id=44041着。 T(n)を計算するのは簡単。しかし、それらのgcdを計算するのは難しい。とりあえず実験をするのだが、ネットブックで計算するしかなく、なかなかちゃんとはわからない。それでもなんとか突き…

Project Euler 439(2)

http://projecteuler.net/index.php?section=problems&id=439速くする方法がわからないのでフォーラムを見て、なんとか完全理解した。 自分で組んで全桁出したら、PyPyで3分半だった。 しかし、要所要所で9桁にしてもあまり速度は変わらなかった。よくあるこ…

Project Euler 439

http://projecteuler.net/index.php?section=problems&id=43924着。 月曜の帰りにだいたいわかって、火曜の朝にごり押しできる式を見つけた。火曜の夜にコードを書いたが、PyPyで10時間くらいかかりそう。そこでC++で書き直したが、それでも4時間くらいかか…

Project Euler 438(2)

http://projecteuler.net/index.php?section=problems&id=438少し変えて20倍くらい速くなったので、フォーラムに書きこんだ。http://projecteuler.net/thread=438#136498