2012-04-01から1ヶ月間の記事一覧
Project EulerのProblem 59(日本語)です。 最初、頻度分析をやろうと思ったのですが、問題文中に 「平文はよく用いられる英単語を含んでいる」 とあること。また、 暗号化鍵は3文字の小文字である ので、すべての鍵の組合せを試しながら、theとthisが含まれ…
Project EulerのProblem 58(日本語)です。 Problem 28を少し修正して解きました。 058.rb
Project EulerのProblem 57(日本語)です。 以下のような漸化式を利用しました。 初項 = 3/2 次項 = 1 + 1/(1 + 前項) 057.rb
Project EulerのProblem 56(日本語)です。 056.rb
Project EulerのProblem 55(日本語)です。 055.rb
NoSQLという用語はちょくちょく耳にしていたのですが、遅ればせながらやってみようと思います。 mongodbのインストール $ brew install mongodb Macを起動したらmongodbも起動するようにする $ mkdir -p ~/Library/LaunchAgents $ cp /usr/local/Cellar/mong…
Project EulerのProblem 54(日本語)です。 難しい問題というよりも、ちょっと面倒な問題でした。2人のプレイヤーが同じ役の場合、 役を構成する中で値が最も大きいカードによってランクが決まる 一番値が大きいカードによってランクが決まる 一番値が大きい…
Project EulerのProblem 53(日本語)です。なので、が100万を超えたらカウンタ(cnt)を+2してますが、nが偶数で、かつ、のときは、カウンタを+1しています。 053.rb
Project EulerのProblem 52(日本語)です。 052.rb
Project EulerのProblem 51(日本語)です。 いろいろ考えてみましたが、全くよい解法を見出すことができず、「Y箱: Euler : Problem 51」を参考にさせていただきました。 051.rb
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]までの和)が素数にな…
Project EulerのProblem 49(日本語)です。 等差数列の候補を変数first, second, thirdで表しています。firstの各桁を入れ替えたもの(second)が素数であるか調べ、もし素数なら、公差second - firstからthirdを生成し、素数かどうかを判定しています。 049.rb
Project EulerのProblem 48(日本語)です。 とても大きな数を扱うことになると思うので、以下で解けなかったら工夫しようと思いましたが計算してくれました。 048.rb
Project EulerのProblem 47(日本語)です。 047.rb
Project EulerのProblem 46(日本語)です。 046.rb
Project EulerのProblem 45(日本語)です。 Fiberを使って、三角数、五角数、六角数の数列を生成しています。三者が揃うまで、一番歩みの遅い数列を一歩ずつ前に進めていくことを繰り返しています。 045.rb
Project EulerのProblem 44(日本語)です。 ある数が五角数かどうかをpentagonal_number?メソッドで判別式を用いて判定しています。このとき、式(1),(3)ではOKですが、式(2)だとNGです。なぜ、式(2)だとうまく判定できないのでしょう? 1/2=0ですね。初歩的な…
Project EulerのProblem 43(日本語)です。 力づくの方法で解いています。 043.rb
Project EulerのProblem 42(日本語)です。単語の値をsumとすると、解の公式より と書ける。このとき、平方根を開いた数が整数であり、かつ、1+8*sumが奇数なら三角語と判定。 042.rb
Project EulerのProblem 41(日本語)です。 041.rb 最初、987654321からデクリメントしながら調べていきましたが、探索空間が広すぎて実行時間がかかりすぎました。今まで知らなかったのですが、数字の各桁の和が3の倍数だと、その数自身も3の倍数になるよう…
Project EulerのProblem 40(日本語)です。 040.rb
rvmからrbenvに移行したのですが、以前からcronで実行していたスクリプトが実行できなくなりました。「ruby script using rbenv in cron - Stack Overflow」で紹介されている方法では解決しませんでしたが、別な方法で実行することができるようになりました…