Haskell 小クイズ


  1. リスト xsの中からはじめて100を超える要素、 つまり xkxsk番目の要素とする時、 xn > 100 かつ ∀i < n. xi ≤ 100となるような xnを求める関数 fooを定義せよ。
    例えば、foo [1,2,4,8,16,32,64,128] は 128となる。
    リストの中に 100を超える要素がない場合は考慮しなくて良い。 (実行時エラーになって良い。)
  2. リスト 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