プログラミング言語論Ⅰ 期末テスト 解答例(2024 年度)


(1)
foo (x:xs) | x `mod` 3 == 0  = x + foo xs
foo (_:xs)                   = foo xs
foo []                       = 0
(2)
bar n = [ (x, y) | x <- [1..n], y <- [(x * x) .. (2 * x * x)], odd (x + y)]

(1)  [1,3,9,27,81]

(2)  [0,1,4,11,26]

(3)  [5,6,10,11,15,16,20,21]

(4)  [(2,3),(3,6),(4,5),(4,9),(4,13)]