n個の正の整数x1,x2,…,xn が並んだ線形リストを[x1,x2,…,Xn]で表し,空リストは[ ]で表す。次のように再帰的に定義される関数func(L)を,L=[1,3,2]を実引数として呼び出したとき, print文によって表示される数字はどれか。ここで,プログラム中の=は等号,:=は代入を表す。
〔関数の定義〕 | ||
(1) | first([x1,x2,…,xn])はx1を返す。 | |
(2) | butfirst([x1,x2,…,xn])は[x2,…,xn]を返す。butfirst([x])は[ ]を返す。 | |
(3) | max(x,y)は,X≧yであればxを返し,そうでなければyを返す。 |
ア | 123 |
イ | 133 |
ウ | 223 |
エ | 233 |
トレースすると次のようになる。
print文は3回実行され、「233」を出力する。
したがって、エが正解である。