数学

九九の表と和の公式

さきほど友達からの電話で聞いた内容に触発されて調べてみました。「自然数の和の2乗は、自然数の3乗の和に等しい」ということが九九の表から導けるということです。ちなみに、上記の公式自体は一度はみんな気づいたことがあるのではないかと思いますし、歴…

Project Euler 78, 64, 65

めっきり解く頻度が下がってしまいましたが、今日は3問解きました。 Project Euler 78 この問題は数学において「整数分割 (integer partition) 」と呼ばれる問題そのままのようです。 そんなことに気づかず普通に再帰で解こうとしていて、全く手が出ていない…

Project Euler 66, ペル方程式

久しぶりに Project Euler を解きました。 最近あまり簡単に答えが合わなくなってきてしまったのでちょっとへこたれて Euler から遠のいていたのですが、友達がPE66を解の公式から解いたというので私も試しました。とはいいつつもちょっと苦労したんですけど…

Project Euler 72, オイラー関数

http://projecteuler.net/index.php?section=problems&id=72この問題は明示的に書かれてはいないですが、オイラー関数を利用して解く問題のようです。 2〜1000000の各数に互いに素な数の個数を足していくのかぁ、、と思ったときにオイラー関数を思い出しまし…

Project Euler 75, ピタゴラス数

http://projecteuler.net/index.php?section=problems&id=75原始ピタゴラス数を求めて、その外周和の倍数をカウントしていく方法で実装しました。 Rubyで3秒。 ピタゴラス数というのは、a^2 + b^2 = c^2 を満たす自然数 (a,b,c) のことで、原始ピタゴラス数…

Project Euler 41、高速な素数判定

Pandigitalな数を作り、それを1つずつ素数判定する方法で求めました。(まあ、素直で愚直な方法です)今まで素数判定について、エラトステネスの篩で求めた素数に含まれているか?という手抜き方法で実装してきましたが、流石に速度をごまかせなくなったので…