Project Euler

今回も見逃し

プログラミングと数学が好きな人には 垂涎の遊び場でお馴染みのProject Eulerですが、 今週も問題を見逃してしまいました。 どうやらここ最近は土曜日ではなく平日に 最新の問題が公開されでいるようですね。 平日に公開されると職務中に問題を解くことにな…

Problem 288

4月18日(土) 21時に公開された最新の問題に チャレンジしてみました。 1位を取れるかと思いながらワクワクして挑戦したのですが、 私が解答を得た時点での正解者はすでに24人もいました。。。orz 70分くらいかけてやっと答えにたどり着いたのですが、 なん…

Problem 287

最新のProject Eulerの問題を解いてみました。 非常に難しかったです。 問題の答えを求めるのが難しいのではなく、 Python 2.5で「計算時間1分以内に」解くのが難しい問題です。 結局1分以内に解くことはできませんでしたが。。。 問題が公開された直後に解…

Problem 277

Project Eulerの割と新しい問題にチャレンジしてみました。 コラッツ列に関する問題です。 なぜいきなり新しい問題を解いてみたかと言いますと、 Project Eulerの正しい遊び方に気付いてしまったからです。 実はプロジェクトオイラーは、 新しい問題が毎週末…

Problem 40

Problem 40 Problem 40(原文) 正の整数を順に連結して得られる以下の10進の無理数を考える: 0.123456789101112131415161718192021... 小数第12位は1である. dnで小数第n位の数を表す. d1 × d10 × d100 × d1000 × d10000 × d100000 × d1000000 を求めよ. プ…

Problem 39

Problem 39 うっかり見落としてしまいそうでしたが、 上記リンク先の日本語訳Wikiと原文で 内容が若干異なりましたので、 念のため原文へのリンクも張っておきます。 Problem 39の原文 辺の長さが{a,b,c}と整数の3つ組である直角三角形を考え, その周囲の長…

Problem 38

Problem 38 192を1, 2, 3で掛けてみよう. 192 × 1 = 192 192 × 2 = 384 192 × 3 = 576 積を連結することで1から9のPandigital数 192384576 が得られる. 192384576を 192と(1,2,3)の連結積と呼ぶ. 同じようにして, 9を1,2,3,4,5と掛け連結することで Pandigit…

Problem 37

またまたプロジェクトオイラーです。 また素数か、という感じが否めませんが、 素数はそれほどまでに人の関心を惹きつけるということでしょう。 Problem 37 3797は面白い性質を持っている. まずそれ自身が素数であり, 左から右に桁を除いたときに 全て素数に…

Problem 36

Problem 36 585 = 1001001001 (2進) は10進でも2進でも回文数である. 100万未満で10進でも2進でも回文数になるような数の総和を求めよ. (注: 先頭に0を含めて回文にすることは許されない.) あまり面白みのありそうな問題でもないので、 とりあえず力技のやっ…

Problem 35 解答

先日紹介したProblem 35の解答を書いてみます。 Problem 35 197は巡回素数と呼ばれる. 桁を回転させたときに得られる数 197, 971, 719 が全て素数だからである. 100未満には巡回素数が13個ある: 2, 3, 5, 7, 11, 13, 17, 31, 37, 71, 73, 79, および97である…

Problem 35

巡回素数っていう言葉があるんですね。 学術的に何かの役に立っている状況を想像することができませんが、 そんなことは気にせず解いてみます。 Problem 35 197は巡回素数と呼ばれる. 桁を回転させたときに得られる数 197, 971, 719 が全て素数だからである.…

Problem 34 続き

先日の記事の続きです。 問題はこちら。 145は面白い数である. 1! + 4! + 5! = 1 + 24 + 120 = 145となる. 各桁の数の階乗の和が自分自身と一致するような数の総和を求めよ. 注: 1! = 1 と 2! = 2 は総和に含めてはならない. 小一時間考えたのですが、 地球…

Problem 34

久々にProject Eulerを解いてみます。 今回はいつもより難しそうな問題です。 Problem 34 145は面白い数である. 1! + 4! + 5! = 1 + 24 + 120 = 145となる. 各桁の数の階乗の和が自分自身と一致するような数の総和を求めよ. 注: 1! = 1 と 2! = 2 は総和に含…

Problem 33

Problem 33 49/98は面白い分数である. 「分子・分母の9をキャンセルしたので 49/98 = 4/8 が得られた」と 経験を積んでいない数学者が誤って思い込んでしまうかもしれないからである. 我々は 30/50 = 3/5 のようなタイプは自明な例だとする. 1より小さく分子…

Problem 32

Problem 32 7254は面白い性質を持っている. 39 × 186 = 7254と書け, 掛けられる数/掛ける数/積に1から9の数が1回ずつ出現する. 掛けられる数/掛ける数/積に1から9の数が1回ずつ出現するような積の総和を求めよ. HINT: いくつかの積は, 1通り以上の掛けられる…

Problem 30

プロジェクトオイラーを解いてみました。 驚くべきことに, 各桁を4乗した和が元の数と一致する数は3つしかない. 1634 = 1**4 + 6**4 + 3**4 + 4**4 8208 = 8**4 + 2**4 + 0**4 + 8**4 9474 = 9**4 + 4**4 + 7**4 + 4**4 ただし, 1=1**4は含まないものとする.…