Mae向きなブログ

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

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

Problem 145

Project EulerのProblem 145(日本語)です。 力づくの方法でRubyで書いたのですが、なかなか実行が終りませんでした。Cで書くと30秒ほどで解が求まりますが、Fornumを見ると、pencil and paperで解答を導かれている方も多いですね。 145.rb 145.c

Problem 88

Project EulerのProblem 88(日本語)です。 「Solved By」で見たときに、解きやすい問題に分類される問題だと思いますが、自分にとっては難しく、途中で投げ出していた問題です。作成したプログラムは、恥ずかしい出来栄えですが一応完成したので載せておきま…

Problem 204

Project EulerのProblem 204(日本語)です。 最初、以下のように作ってみました。これまでのProject Eulerの経験から分かることなのですが、例題(Type 5のハミング数で上限が)は解けても、本問は時間がかかり過ぎて手におえません。 # -*- coding: utf-8 -*- …

uniqが先かsortが先か?

Project EulerのProblem 203を解いたとき、 ある程度大きな配列で考えたとき、sortしてuniqするのと、uniqしてsortするのでは、前者の方が効率的ですよね?2012-09-15 15:12:15 via twmode という疑問を持ちましたので調べてみました。ツィートしたときは、s…

Problem 203

Project EulerのProblem 203(日本語)です。 久しぶりにProject Eulerに取り組んでみました。簡単に解けそうな問題は、もうないだろうと思っていたのですが、Solved Byで探し当てました。 203.rb

ローマ人の物語 ― パクス・ロマーナ

ローマ人の物語〈14〉パクス・ロマーナ(上) (新潮文庫)作者: 塩野七生出版社/メーカー: 新潮社発売日: 2004/10/28メディア: 文庫 クリック: 8回この商品を含むブログ (96件) を見るローマ人の物語〈15〉パクス・ロマーナ(中) (新潮文庫)作者: 塩野七生出版社…

燃え広がる迷路

「やわらか頭でアルゴリズムを10倍生かす - 第4回 燃え広がる迷路:ITpro」で紹介されているJavaでの実装をRubyで書いてみました。 maze_on_fire.rb 実行結果 4

8パズル

「やわらか頭でアルゴリズムを10倍生かす - 第3回 8パズル:ITpro」で紹介されているJavaでの実装をRubyで書いてみました。 Rubyだと、メソッド名をnextMoveではなくて、next_moveにしたほうが慣習にあってたりするんだろうと思いましたが、そのままにしてあ…

川渡り問題

「やわらか頭でアルゴリズムを10倍生かす - 第2回 川渡り問題:ITpro」で紹介されているJavaでの実装をRubyで書いてみました。 river.rb 実行結果 Move Red-Adult and Blue-Child Move Red-Adult Move Bule-Adult and Bule-Child Move Blue-Adult Move Red-A…

githugやってみました。

「「githug」でgitの基本操作を算数ドリルみたいに学ぼう! | Act as Professional - hiroki.jp by HIROCASTER」で紹介されていた、githugやってみました。 問題を解いていきながらgitについて勉強することができて、非常に良かったと思います。

Problem 119

Project EulerのProblem 119(日本語)です。 当たり前の方法で解こうとすると時間がかかり過ぎて解けないので、を計算し条件に合っていれば配列ansに格納していきます。 aとnの探索範囲(2〜100)は適当に決めてしまったのですが、本来は、「Project Euler 119 …

学力と階層

5章構成の本です。4章は少し難しく理解できない部分が多々ありましたが、それ以外の章はすんなり読み進めることができました。 これまで、専門書や興味関心のある小説などは読んできましたが、本書のような本を読むのは初めてです。教員は自分の専門教科の専…

Problem 113

Project EulerのProblem 113(日本語)です。 「Project Euler 113 - 桃の天然水」を参考に取り組みました。 最後の答えを表示する行ですが、は、増加数、減少数で111などの同じ数字を重複して数えているので、その分を引いています。ここは自分でも納得してい…

Problem 206

Project EulerのProblem 206(日本語)です。 ただ力ずくの方法で解いているだけです。他にいい方法があるのでしょうか? 206.rb 追記 id:inamori さんからアドバイスをいただきました。 @maehrm どんな問題でもまずは再帰に持ち込むことを考えます。2012-08-1…

ローマ人の物語 ― ユリウス・カエサル ルビコン以後

12巻のp191に以下のようにあります。 それにしても、教師と医師は、人間社会での彼らの職業の重要さを歴史上はじめて公式に認めた人として、カエサルには感謝してしかるべきかと思う。 カエサルに感謝しつつ、仕事に励んでいきたいと思います。 それにしても…

Problem 121

Project EulerのProblem 121(日本語)です。 ゲームが4ターンの場合、プレイヤーが勝利する確率は BBBB => RBBB => BRBB => BBRB => BBBR => の和で、となります。 同様に、5ターン、6ターンの場合もノートに書き出すと徐々に解き方が見えてきました。 解いた…

Problem 205

Project EulerのProblem 205(日本語)です。 4面、6面のサイコロを振ったときの目の確率(peter_dice_p,colin_dice_p)を計算しています。 例えば、出た目が9で勝つときは、相手が6, 7, 8が出たときなので、 Peterが9かつColinが6 または、 Peterが9かつColinが…

Problem 187

Project EulerのProblem 187(日本語)です。 配列primesに素数を列挙し、題意を満たす組合せを数え上げています。 187.rb

ローマ人の物語 ― ユリウス・カエサル ルビコン以前

今までは、ただの断片化した知識というか、たんに単語を知っていただけのことでしたが、それらが有機的に結びついて、やっと自分の知識になっていこうとしています。ローマ人の物語〈8〉ユリウス・カエサル ルビコン以前(上) (新潮文庫)作者: 塩野七生出版社…

Problem 179

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

数値表現の違いによる速度差

Rubyで、100_000_000と書いても10**8と書いても1e8と書いても、そう大差はないと思っていたのですが、大きな間違いでした。 require 'benchmark' Benchmark.bm(15) do |x| x.report("100_000_000") { 1.upto(100_000_000){}} x.report("10**8") { 1.upto(10*…

聞く力

人前で話をするのが仕事ですが、あまり得意ではないので、せめて聞く力を身につけようと思い手に取った本です。聞く力―心をひらく35のヒント (文春新書)作者: 阿川佐和子出版社/メーカー: 文藝春秋発売日: 2012/01メディア: 新書購入: 17人 クリック: 702回…

Problem 125

Project EulerのProblem 125(日本語)です。 配列sum_of_squaresには、1から添字までの2乗の和が入るようにしておきます。例えば、sum_of_squares[2]には、が入っています。 sum_of_squares = [0, 1, 5, 14, 30, 55, 91, 140, 204, 285, 385, … ]sum_of_squar…

Problem 101

Project EulerのProblem 101(日本語)です。 『アルゴリズムC〈第3巻〉グラフ・数理・トピックス』のp127で紹介されているラグランジュの補間公式を用いて解いてみました。 101.rb

Problem 124

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

ローマ人の物語 ― 勝者の混迷

ローマ人の物語 (6) ― 勝者の混迷(上) (新潮文庫)作者: 塩野七生出版社/メーカー: 新潮社発売日: 2002/09/01メディア: 文庫購入: 5人 クリック: 11回この商品を含むブログ (71件) を見るローマ人の物語 (7) ― 勝者の混迷(下) (新潮文庫)作者: 塩野七生出…

Problem 107

Project EulerのProblem 107(日本語)です。 最小全域木の問題でした。以前(2009/06/12)、クラスカルのアルゴリズムは作ったことがあったので、今回はプリムのアルゴリズムで解いてみました。 107.rb

Problem 123

Project EulerのProblem 123(日本語)です。 7/14に解いたProblem 120と似た問題でした。 123.rb

Problem 95

Project EulerのProblem 95(日本語)です。 約数の和は、『数学ガール (数学ガールシリーズ 1)』のp27の方法で求めています。 例えば、の約数の和は、 で求められます。 095.rb

Problem 100

Project EulerのProblem 100(日本語)です。 とてつもなく大きい数を扱うときは、そのまま解いたらとんでもないことは、これまでの経験で分かってきました。 円盤の合計を、青い円盤をとすると となります。 これは、 となって、とおくと、ペル方程式 となり…