Haskell 小クイズ
-
リスト xsの中からはじめて100を超える要素、
つまり xkを xsの k番目の要素とする時、
xn > 100 かつ
∀i < n. xi ≤ 100となるような
xnを求める関数 fooを定義せよ。
例えば、foo [1,2,4,8,16,32,64,128] は 128となる。
リストの中に 100を超える要素がない場合は考慮しなくて良い。
(実行時エラーになって良い。)
-
リスト xsの中で差が 2の要素を並べて列挙する関数
barを(リストの内包表記を用いて)定義せよ。
例えば bar [2,3,5,7,11,13,17,19,23,29,31]は
[(3,5),(5,7),(11,13),(17,19),(29,31)]となる。
xsが昇順とは限らない。
bar [31,29,23,19,17,13,11,7,5,3,2]も、
(順番は違っても良いが)上記と同じ結果を返す。
プログラミング言語特論のホームページ
Koji Kagawa