深夜のF#

F#の勉強がてらプロコンの問題を解けるようなサイトはないかなと探していたら

http://d.hatena.ne.jp/tomerun/20101219/1292766620

こちらでSphere online judgeが紹介されていました、なんとbrainf*ckとかも対応しているらしい。
(あとでadvent calendarに載ってる他のブログも見てみようかな)

というわけで、初投稿してみました。





頑張って再帰は使ってみたけど、結局最後はfor文になってしまった。
あと入出力ムズ過ぎてコピペしました。

http://www.spoj.com/ranks/TEST/lang=FS,start=20

で無事通過。
コンパイルするときにはtabはspaceに変換するか
indent "off"とか加えないといけないみたいでコンパイルエラーしてた。


まぁこれから頑張ります、本もAmazonさんでカートにまでは入れました(笑)
あとはこちらhttp://bleis-tift.hatenablog.com/entry/20120119/1326944722あたりを参考に、基本的な関数の組み立て方を勉強中。


let lines =
Seq.initInfinite (fun _ -> System.Console.In.ReadLine())
|> Seq.takeWhile(fun line -> line <> null)
|> Seq.toList;;
let rec filtered lines =
match lines with
| [] -> []
| x::res ->
if System.String.Equals(x, "42", System.StringComparison.CurrentCultureIgnoreCase) then []
else x :: (filtered res);;
let nlines = filtered lines;;
for line in nlines do printfn "%s" line;;
view raw test.fs hosted with ❤ by GitHub

コメント

このブログの人気の投稿

旧姓を失った研究者が海外でも活躍するためには

再現性なんてないさ(?)

WLSのssh