Euler
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
Project EulerのProblem 39(日本語)です。 039.rb
Project EulerのProblem 38(日本語)です。 038.rb 9と(1,2,3,4,5)の連結積が918273645なので、少なくともこれを超えそうな組合せ(以下)を試していきました。 (91..98) * [1, 2, 3, ...] (912..987) * [1, 2, 3, ...] (9123..9876) * [1, 2, 3, ...]
Project EulerのProblem 37(日本語)です。 037.rb
Project EulerのProblem 36(日本語)です。 036.rb
Project EulerのProblem 35(日本語)です。 035.rb
Project EulerのProblem 34(日本語)です。 034.rb 単純に上限まで各数字を試す方法です。実行時間は5分ほどでした。 034-1.rb 単純な方法では時間がかかりすぎるため、少し工夫をしました。 一度計算した値はメモし再計算の手間を省く 試す数字の上限が7桁な…
Project EulerのProblem 33(日本語)です。 033.rb
Project EulerのProblem 32(日本語)です。 掛けられる数を最大2桁、掛ける数を最大4桁とし、その組合せを調べていきました。 032.rb
Project EulerのProblem 31(日本語)です。 031.rb 参考サイト 僕のIT革命: Project Euler - Problem 31
Project EulerのProblem 30(日本語)です。 上限の決め方が難しい。本当は数学的に考えないといけないところですが、try and errorで解いてみました。 030.rb
Project EulerのProblem 29(日本語)です。 029.rb
Project EulerのProblem 28(日本語)です。以下のように書きだしてみると、数列の規則性が見えてきました。 5x5 => [[1], [3, 5, 7, 9], [13, 17, 21, 25]] 7x7 => [[1], [3, 5, 7, 9], [13, 17, 21, 25], [31, 37, 43, 49]] 9x9 => [[1], [3, 5, 7, 9], [13,…
Project EulerのProblem 27(日本語)です。 単純にである全てのケースについて調べているだけです。他によい方法があるのでしょうか? 027.rb
Project EulerのProblem 26(日本語)です。 recurring_cycle_lengthメソッドで循環節の長さを求めています。 026.rb
Project EulerのProblem 25(日本語)です。 フィボナッチ数列をFiberを使って生成してみました。 025.rb
Project EulerのProblem 24(日本語)です。 024.rb
Project EulerのProblem 23(日本語)です。 proper_divisorsメソッドで真の約数を求めています。ソース内の(1)が自分で書いた単純な方法、(2)はuehara_deltaさんのページで紹介されている解法です。 (1)を有効にして実行したところ約30秒、(2)を有効にし実行…
Project EulerのProblem 22(日本語)です。 022.rb