Mae向きなブログ

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

2012-01-01から1年間の記事一覧

Problem 96

Project EulerのProblem 96(日本語)です。 数独を解く問題でした。以下のように解いています。 各セルに入る数字の候補を求める。このとき、候補が一つしかない場合はその数字を埋める。candidateメソッドで行なっています。 次に候補の数字が少ないセルに数…

よくわかるiPhoneアプリ開発の教科書

よくわかるiPhoneアプリ開発の教科書【iOS 5&Xcode 4.2対応版】作者: 森巧尚,まつむらまきお出版社/メーカー: マイナビ発売日: 2012/02/23メディア: 単行本(ソフトカバー)購入: 16人 クリック: 373回この商品を含むブログ (32件) を見る新しい開発環境を学…

Problem 120

Project EulerのProblem 120(日本語)です。 二項定理より となります。が偶数のときは常にとなるので考えなくてよくて、が奇数のとき、は以下のように表すことができます。 120.rb

Problem 112

Project EulerのProblem 112(日本語)です。 増加数の場合、up_cnt == (数字の桁数 - 1) 減少数の場合、down_cnt == (数字の桁数 - 1) となることを利用しています。up_cnt(, down_cnt)は左の桁より大きい(小さい)か等しい場合にインクリメントしています。 1…

Problem 104

Project EulerのProblem 104(日本語)です。 普通に作ると非常に遅いので、下9桁のみを保存しておく変数を用意し、これが1から9までの数字をすべて含む場合のみ、頭から9桁をチェックするようにしてみました。 104.rb 追記 「Project Euler 104 - 桃の天然水…

Problem 102

Project EulerのProblem 102(日本語)です。 外積を使ってます。 102.rb

Problem 99

Project EulerのProblem 99(日本語)です。 常用対数を使って比較しています。 099.rb

Problem 97

Project EulerのProblem 97(日本語)です。 さすがのRubyでも なので、下6桁だけ残しながら計算してみました。 097.rb

Problem 93

Project EulerのProblem 93(日本語)です。 1〜9から4つの数字の組合せを作り、以下の計算を逆ポーランド記法により求めています。 解答後、フォーラムを見て気付いたのですが、逆ポーランド記法を使わず中置記法のままでも解くことができますね。 093.rb

Problem 90

Project EulerのProblem 90(日本語)です。 題意(6と9の扱い)を読み取るのに苦労しました…。 090.rb

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)』で学習した「原始ピタゴラス数の一般形」が頭に浮かびましたので利用してみました。 原始ピタゴラス数の一般形とは、 …