天竺を走ってる地下鉄に、こんなのが。ちょっとピンボケなのはご勘弁を。
超バカに考えて (in Haskell)
import List numConcat n = foldr1 (++) $ map show [1..n] main = print $ head $ genericDrop (5100000000 - 1) $ numConcat 999999999
こんなのになってしまいましたが問題読み間違えていたかも。詳しくはコメントを。まぁいずれにしろ、当然計算終わりませんw
頭の体操になりそうなので、皆さんにも公開。(広告だし、社名も出てるので問題あるまい)お暇な人はどうぞ。天竺付近で職探してる人は、解いて応募してみてください。
問題書き直し
コメントのjmkさんの指摘だと、
import List numConcat n = foldr1 (++) $ map f2w [1..n] main = print $ head $ genericDrop (5100000000 - 1) $ numConcat 999999999
ただし、
*Main> f2w 1 "one" *Main> f2w 2 "two"
となるようなのって事ですね。これだと結構面倒になるなぁ。