Mae向きなブログ

Mae向きな情報発信を続けていきたいと思います。

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

Problem 91

Project EulerのProblem 91(日本語)です。 今まで解いたProject Eulerの問題は、問題文中に示されている例だと解けるが、探索空間が大きくなると、とても短時間に解けないという特徴があったと思います。この問題は珍しく工夫をしなくてもそれなりの時間に解…

Problem 92

Project EulerのProblem 92(日本語)です。 各数の列を求め89になる個数を数えているだけのシンプルな方法で解いています。同じ数の再計算のないよう一度計算した数値についてはメモをしています。 092.rb

ローマ人の物語 ― ハンニバル戦記

本書を読み終えるまで、ハンニバルという人もカルタゴという国の存在も知らずに生きてことに恥ずかしさを感じています…。日本の弥生時代のころの出来事だとはとても信じられないことです。また2000年以上のときを超えて今もなお、戦争を繰り返しているところ…

Problem 89

Project EulerのProblem 89(日本語)です。 引き算ペアの文字列の置換だけで正解でした。これだと16がVVVIと書かれていてもXVIと1文字節約できない。roman.txtに含まれる1000個のローマ記法の質があまりよくないのかなと思います。 089.rb

気にしない技術

p80の じつは私は、書店、とくに大型の書店に行くのがあまり好きではありません。なぜかというと、「世の中にはこんなに本があるのか。ああ、これも知らないことだし、この本もまだ読んでない…」と自分の知識のなさ、学ぶべきことの多さに、ぐったりと脱力感…

Problem 87

Project EulerのProblem 87(日本語)です。 2乗しても50,000,000を超えない素数のリスト、他、同様に3乗、4乗用のリストをまず作成して、工夫もなく総当たりして解きました。 087.rb

Problem 86

Project EulerのProblem 86(日本語)です。 前回といい今回といい苦戦しています。 「Project Euler Problem #86 « KeyZero Conversation」を参考にさせていただきました。 086.rb

Problem 85

Project EulerのProblem 85(日本語)です。 規則性を見出すことが、問題を解く一番の目的なんでしょうけど、「Project Euler Problem 85 - 眠いのです」を参考にさせていただきました。 085.rb

Problem 84

Project EulerのProblem 84(日本語)です。 Monopoly(モノポリー)というゲームの名前は聞いたことがありますが、やったことがないのでゲームの内容を理解するのに手間取りました(ひょっとしたら間違って解釈しているかもしれません)。数学を駆使して解答を導…

Problem 83

Project EulerのProblem 83(日本語)です。 Problem 81, Problem 82同様、2次元配列$memoに、それぞれのセルまでの和の最小値を格納するようにしています。 最初、再帰を使って解いてみましたが、5x5の例題では解けるものの、80x80だとstack level too deep (…

ローマ人の物語 ― ローマは一日にして成らず

以前から読んでみたいとは思っていましたが、最終巻まで読み終えることができるか不安もあったので二の足を踏んでいました。ふとしたことがきっかけで、読むことになり、まずは2巻まで読んでみました。 貧しいことは恥ではない。だが、貧しさに安住すること…

Problem 82

Project EulerのProblem 82(日本語)です。 Problem 81同様、2次元配列$memoに、それぞれのセルまでの和の最小値を格納するようにしています。本問では上下右に移動できるので、例えば、問題文で説明されている5x5の例で考えると、 $memo[1][1]には、 131 + 6…

Problem 81

Project EulerのProblem 81(日本語)です。 2次元配列$memoに、それぞれのセルまでの和の最小値を格納するようにしています。格納する際、上のセルからの和と左からの和のうち小さい方を格納していけば、2次元配列$memoの右下に解が求まることになります。 08…

Problem 80

Project EulerのProblem 80(日本語)です。 最初、module function BigMath.#sqrtを使ってできないかと考えたのですが、計算結果の精度が52位が限界なのでしょうか、計算できなかったので、開平法を使って計算しました。動くことを最優先して作ったので、とて…

Problem 79

Project EulerのProblem 79(日本語)です。 実は手計算で答えを求めて、Answer と Confirmation Code を入力して check ボタンを押してみると正解でした。それで終わってもよかったのですが、tsortライブラリを使って解いてみました。 079.rb

Problem 78

Project EulerのProblem 78(日本語)です。 6/5(火)のProblem 76のような解き方だと時間がかかりすぎて解くことができませんでした。Wikipediaの分割数には、以下のような漸化式も紹介されています。以前、Problem 44,Problem 45で出てきた五角数が分割数を解…

cos20°を高精度で計算する

「cos20°を高精度で計算する - 桃の天然水」を読んでRubyで書いてみました。BigDecimalクラスを使うのは初めてなので、おかしな書き方をしているかもしれまん。Pythonで書かれた1行1行を、大体Rubyにすることができました。 formatがそのまま使えたのには驚…

Problem 77

Project EulerのProblem 77(日本語)です。 6/5(火)のProblem 76を少し変更することで解くことができました。 077.rb

Problem 76

Project EulerのProblem 76(日本語)です。 076.rb 分割数の問題でした。分割数については『数学ガール (数学ガールシリーズ 1)』で学習していたので、問題を読んだときにすぐにそれと気付きました。第10章では上界の一つが紹介され、エピローグでは一般項を…

Problem 75

Project EulerのProblem 75(日本語)です。 075.rb 問題文を読んだとき、以前『数学ガール フェルマーの最終定理 (数学ガールシリーズ 2)』で学習した「原始ピタゴラス数の一般形」が頭に浮かびましたので利用してみました。 原始ピタゴラス数の一般形とは、 …

Problem 74

Project EulerのProblem 74(日本語)です。 074.rb