プログラミングのお題スレ Part12at TECH
プログラミングのお題スレ Part12 - 暇つぶし2ch219:デフォルトの名無しさん
18/11/04 13:46:33.88 pidkuN2F.net
>>204
Haskell
main = mapM_ put [(1,10,5),(5,10,5),(10,10,5)]
put (x,y,z) = return (pager x y z) >>= print
pager a b c | a <= (c `div` 2) = mklist a $ take c [1..b]
pager a b c | a > (b - c `div` 2) = mklist a $ drop (b - c) [1..b]
pager a b c = mklist a $ take c $ drop (a - c `div` 2 -1) [1..b]
mklist a xs = [small a xs , jst a xs , big a xs]
small a = filter (< a)
big a = filter (> a)
jst a = filter (== a)
結果
[[],[1],[2,3,4,5]]
[[3,4],[5],[6,7]]
[[6,7,8,9],[10],[]]
[executed "pager.hs"]


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch