Project Euler

Project Euler Problem 84

モノポリーで、どの升目に止まりやすいかという問題。 まじめに計算できそうな感じだけど、せっかくなのでサンプリングしてみる。 ただひたすら面倒なだけ。 import random # monopoly simulator cells = [ 'GO', 'A', 'CC', 'A', 'T', 'R', 'B', 'CH', 'B',…

Project Euler Problem 125

単なるブルートフォースなのだが、範囲が違うけど同じ数が出うることと、それを加算してはいけないことに1時間ハマって死にたい。何この凡ミス。 typedef unsigned long long int nat; vector<nat> gensqsq(nat lim){ vector<nat> sqsq; for(nat i=1;i*i <= lim;++i)sq</nat></nat>…

Project Euler 87

ストレートにx^2 + y^3 + z^4を総当りでとけばよい。 どうせそれぞれの変数に入る素数の値候補は多くは無いので、 最初にリストにしてしまって、リストの3重ループで回す。 当然xのとりうる範囲は50000000の平方根より少ない。 yのとりうる範囲は50000000の…

Project Euler 85

驚きの適当さ。終了判定すらしていない。なぜかPerl。 最後のほうで出たものが答え。親の長方形を埋めるための子の長方形の数は、親の長方形の辺の長さが逆転していても同じ。 つまり親の長方形のサイズが3x4でも4x3でも同じだよということ。 パターンの数は…

Project Euler 80

久しぶりに。 高校の時の参考書に載っていた。 今見ても、こんな面倒な手順を覚えられるかと思う。おおむねこんな感じ。なんだか教科書に乗っている手順をそのまま書き下しているだけなので、すごい汚いなぁ。 def getSqrtDigitSum( n, howmanydigits): if h…

Project Euler Problem 73

71とほぼ一緒。 上限と下限が決め打ちされている分71より簡単。 natural f73(){ natural lowd = 3; natural lown = 1; natural highd = 2; natural highn = 1; natural counter = 0; for(natural d = 12000; d > 1 ; --d){ for(natural n = (highn * d / hig…

Problem 68, 69

Problem 68は手で解けます.というか手で解きました. 内側の5角形が6〜10の場合と外側の5つが6〜10というケースがありえる 外側が6〜10の方が連結した数字が大きくなるので,後者で考える. とりあえずこの前提だけでマスは埋められると思います. そんで,…

Lv2突入

やっとLv2です. あ,Project Eulerの話です. 最近忙しくて余りできません.というわりにガッツリ取り組んでますが. だんだん難しくなってきました.というか難しいです.50番台でこれですか. 正直みんな凄いと思う.自分はまだまだ修行が足らん. いや,…

くどいけどProject Euler 97

もうちょっとでLV2です.先は長い. なんだか生活に支障が出てきたので解くスピード下げようかと... とりあえず簡単な問題から解いていく方針に変更. 指標は解いたユーザー数. 97番は90番台なのにやたら解いた人が多かったので見てみたところ,とても簡…

相変わらずProject Euler24, 48

もはやProject Euler日記になっている.いい加減抜けださないと生活に支障が出る(苦笑) ハッカソンでであった人に影響されて,Pythonを書きたくなったのでPythonで解きました.問題24 0〜9の数字を辞書順に並べたときの1M番目先頭が0である場合の数 9! 先…

Project Euler 18と67

三角形の行列を下にたどり,通った数字の最大値を求める. ご丁寧に,問題18では行列が小さいからbrute forceでもいけるけど, 問題67は同じ問題だけど行列がでかいからキツイぜ,とか書いてある. これは面白い.当然一般的な解法をここで考えて二つとも解…

P_E_17

とか何とか言って(16番の続き),17番. one, two, three...one thousandまでの文字数をカウント. うっわ,ひどい.問題も,僕のコードも. natural f17() { natural sum = 0; map<int, int> lnum; map<int, int> part; part.insert(make_pair(1, 3)); //one part.insert(make_</int,></int,>…

Project Euler 16

Project Euler,一体何のマラソンなんだかよく分からなくなってきました. 16番は2の1000乗の各桁を足すというもの. Cとかだと組み込み型ではオーバーフローするから工夫が必要だよね,とかそういうことなのかなぁ? 微妙に出題の意図が分からない. きっと…

Project Eulerとか

Project Eulerというサイトがあるらしい. 要は,数学チックな問題がいっぱいあって,プログラミングして解きましょうという問題集のサイト. PKU Judge Onlineみたいな感じです. こういうのハマるので困ります. 自分は低脳なので一つ一つ解くのに時間が掛…

Project EulerのProblem12番

三角数で約数が500より多い(つまり5001以上)ものはいくつ? まあ,三角数を求めるところは工夫の余地無い気がしますが, 約数を探すところで,ナイーブに1から順番に割れるかどうか?みたくやったらすごく遅くて回答出る前にこっちの我慢の限界. 最適化す…