bonotakeの日記

元・ソフトウェア工学系研究者、今・AI系エンジニア

地下鉄の求人広告

天竺を走ってる地下鉄に、こんなのが。ちょっとピンボケなのはご勘弁を。

超バカに考えて (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"

となるようなのって事ですね。これだと結構面倒になるなぁ。

注:bonotakeは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。