99999999999999999999999
ヒントまず、数列の性質をつかむ必要があります。
直前の数字に何倍かしていくらか足して次の数字になっています。
ただし、毎回同じ数字をかけたり足したりはしていません。
解説まず、この数列のn番目をnで表すことにします。
n番目の数は、直前の数にnをかけて、n−1を足していることがわかるので、n番目の数をa(n)で表すことにすると、
上の関係は、a(n+1)=(n+1)a(n)+nとかけます。
この式から直接問題を解く方法があるかも知れませんが、思いつかなかったので、無理やりa(n)をnで表してみます。
+nの部分をどうにかしたいので、両辺に1を足してみます。
すると、a(n+1)+1=(n+1)a(n)+n+1
a(n+1)+1=(n+1)a(n)+(n+1)
a(n+1)+1=(n+1)(a(n)+1)
a(n)+1は明らかに0より大きいので、
(a(n+1)+1)/(a(n)+1)=n+1
この式を利用します。
((a(2)+1)/(a(1)+1))×((a(3)+1)/(a(2)+1))×…×((a(n+1)+1)/(a(n)+1))=2×3×4×…×n×(n+1)
とすれば、この式の()のたくさんある方は相殺していって、結局
(a(n+1)+1)/(a(1)+1)=(n+1)!となります。
これより、a(n)=2×n!−1
求めたいのは2011番目の数なので、a(2011)=2×2011!−1
これの下23桁を求めるのですが、ここで、2011!が2011以下の全ての自然数をひとつずつかけたものであることに注目します。2や5の素因数がたくさんある、つまり、10でたくさん割ることが出来る、要するに1桁目から0がたくさん並んでいます。計算は省略しますが、0が500個程度1桁目から並んでいます。
2をかけても0は変わりません。元の数はここから1引いたものですから、9が並ぶことになります。23桁目までは9が並んでいるのは明らかですから答えは9が23個並んだ数になります。
長々とわかりにくい説明ですみません。