[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
問題は、ここ。 http://golf.shinh.org/p.rb?Look+and+say しばらく前に投稿したコードを見直したら、こんな感じで縮められた。。。 成長しているのかな? まあ、見せたくないコードですが。。。 【修正前】 128 バイト f n(x:s)|s==[]=show(n+1)++[x]|x==head s=f(n+1)s|1>0=show(n+1)++[x]++f 0 s main=do l<-getLine;mapM putStrLn$take 12$iterate(f 0)l 【修正後】 123 バイト f n(x:s)|s==[]=show(n+1)++[x]|x==head s=f(n+1)s|1>0=show(n+1)++[x]++f 0 s main=getLine>>=mapM putStrLn.take 12.iterate(f 0) 【修正後2】 122 バイト f n(x:s)|s==[]=show(n+1)++[x]|x==head s=f(n+1)s|1>0=show(n+1)++[x]++f 0s main=getLine>>=mapM putStrLn.take 12.iterate(f 0) 【修正後3】 120 バイト f n(x:s)|s==[]=show(n)++[x]|x==head s=f(n+1)s|1>0=show(n)++[x]++f 1s main=getLine>>=mapM putStrLn.take 12.iterate(f 1) 【修正後4】 118 バイト : 指摘されていたコード。縮まった。。。 f n(x:s)|s==[]=show n++[x]|x==head s=f(n+1)s|1>0=show n++[x]++f 1s main=getLine>>=mapM putStrLn.take 12.iterate(f 1) 【修正後5】 109 バイト : ようやくここまで来たか。。。 f n(x:s)|s==[]=show n++[x]|x==head s=f(n+1)s|1>0=show n++[x]++f 1s main=interact$unlines.take 12.iterate(f 1) 【修正後6】 105 バイト : そろそろ限界か? f n[x]=show n++[x] f n(x:s)|x==head s=f(n+1)s|1>0=f n[x]++f 1s main=interact$unlines.take 12.iterate(f 1)
f n(a:b:s)|a==b=f(n+1)(b:s)|1>0=f n[a]++f 1(b:s) f n s=show n++s main=interact$unlines.take 12.iterate(f 1)