PEをMathematicaで

Project Eulerに挑戦してみよう

Project Euler 65 / e の近似分数

√2の連分数による近似分数を考える。

f:id:variee:20170315221630j:plain

この数列の最初の10項は次のようになる。

1, 3/2, 7/5, 17/12, 41/29, 99/70, 239/169, 577/408, 1393/985, 3363/2378, ...

e の近似分数からなる数列も考えることができる。

2, 3, 8/3, 11/4, 19/7, 87/32, 106/39, 193/71, 1264/465, 1457/536, ...

10個目の近似分数の分子の各桁の数字を合計すると1+4+5+7=17である。

e の近似分数の100項目の分子について各桁の数字の和を求めよ。

Problem 65 - Project Euler

連分数をあつかうコマンドが用意されているので簡単。

  1. ContinuedFraction[E, 100] で連分数展開
  2. FromContinuedFraction で普通の分数に直す
  3. Numerator で分子を取り出す
  4. IntegerDigits で桁ごとに区切る
  5. Total で和を求める