Mae向きなブログ

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

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

Problem 59

Project EulerのProblem 59(日本語)です。 最初、頻度分析をやろうと思ったのですが、問題文中に 「平文はよく用いられる英単語を含んでいる」 とあること。また、 暗号化鍵は3文字の小文字である ので、すべての鍵の組合せを試しながら、theとthisが含まれ…

Problem 58

Project EulerのProblem 58(日本語)です。 Problem 28を少し修正して解きました。 058.rb

Problem 57

Project EulerのProblem 57(日本語)です。 以下のような漸化式を利用しました。 初項 = 3/2 次項 = 1 + 1/(1 + 前項) 057.rb

Problem 56

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

Problem 55

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

brewでmongodbインストール

Mac

NoSQLという用語はちょくちょく耳にしていたのですが、遅ればせながらやってみようと思います。 mongodbのインストール $ brew install mongodb Macを起動したらmongodbも起動するようにする $ mkdir -p ~/Library/LaunchAgents $ cp /usr/local/Cellar/mong…

Problem 54

Project EulerのProblem 54(日本語)です。 難しい問題というよりも、ちょっと面倒な問題でした。2人のプレイヤーが同じ役の場合、 役を構成する中で値が最も大きいカードによってランクが決まる 一番値が大きいカードによってランクが決まる 一番値が大きい…

Problem 53

Project EulerのProblem 53(日本語)です。なので、が100万を超えたらカウンタ(cnt)を+2してますが、nが偶数で、かつ、のときは、カウンタを+1しています。 053.rb

Problem 52

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

Problem 51

Project EulerのProblem 51(日本語)です。 いろいろ考えてみましたが、全くよい解法を見出すことができず、「Y箱: Euler : Problem 51」を参考にさせていただきました。 051.rb

Problem 50

Project EulerのProblem 50(日本語)です。 例えば、以下の例で考えると、 prime_list = [2, 3, 5, 7, 11, 13, 17, 19] i = 0 # 配列の左端を初期値 j = 7 # 配列の右端を初期値jを減らしていき,初めてsum(prime_list[i]〜prime_list[j]までの和)が素数にな…

Problem 49

Project EulerのProblem 49(日本語)です。 等差数列の候補を変数first, second, thirdで表しています。firstの各桁を入れ替えたもの(second)が素数であるか調べ、もし素数なら、公差second - firstからthirdを生成し、素数かどうかを判定しています。 049.rb

Problem 48

Project EulerのProblem 48(日本語)です。 とても大きな数を扱うことになると思うので、以下で解けなかったら工夫しようと思いましたが計算してくれました。 048.rb

Problem 47

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

Problem 46

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

Problem 45

Project EulerのProblem 45(日本語)です。 Fiberを使って、三角数、五角数、六角数の数列を生成しています。三者が揃うまで、一番歩みの遅い数列を一歩ずつ前に進めていくことを繰り返しています。 045.rb

Problem 44

Project EulerのProblem 44(日本語)です。 ある数が五角数かどうかをpentagonal_number?メソッドで判別式を用いて判定しています。このとき、式(1),(3)ではOKですが、式(2)だとNGです。なぜ、式(2)だとうまく判定できないのでしょう? 1/2=0ですね。初歩的な…

Problem 43

Project EulerのProblem 43(日本語)です。 力づくの方法で解いています。 043.rb

Problem 42

Project EulerのProblem 42(日本語)です。単語の値をsumとすると、解の公式より と書ける。このとき、平方根を開いた数が整数であり、かつ、1+8*sumが奇数なら三角語と判定。 042.rb

Problem 41

Project EulerのProblem 41(日本語)です。 041.rb 最初、987654321からデクリメントしながら調べていきましたが、探索空間が広すぎて実行時間がかかりすぎました。今まで知らなかったのですが、数字の各桁の和が3の倍数だと、その数自身も3の倍数になるよう…

Problem 40

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

cronでrbenvを使ってrubyスクリプトを実行する方法

rvmからrbenvに移行したのですが、以前からcronで実行していたスクリプトが実行できなくなりました。「ruby script using rbenv in cron - Stack Overflow」で紹介されている方法では解決しませんでしたが、別な方法で実行することができるようになりました…