PEをMathematicaで

Project Eulerに挑戦してみよう

Project Euler 40 / チャンパーノウン定数

正の整数を順に連結して得られる以下の10進の無理数を考える。

0.123456789101112131415161718192021...

小数第12位は1である。dnで小数第n位の数を表す。
d1 * d10 * d100 * d1000 * d10000 * d100000 * d1000000 を求めよ。

Problem 40 - Project Euler


小数であることは本質ではないので 1, 2, … を連結した整数を考えます。

何桁まで考えればいいのか

d1000000 を得るには 10^6 桁の整数をつくる必要があります。k桁の数が 9*10^(k-1) 個あることを使って,必要な桁数を計算します。

6桁の数まで考えればいいようですね。

連結する

123→1, 2, 3のように桁ごとに区切って連結します。

これを少し一般化して完成です。