2016-MapReduce-解説
- 考案国: カナダ
- 正解
- 「8」
- 説明
- 式は内側の括弧から順に計算できます.
(+ (max (min 3 9 2) (· (max 0 4) (min 0 4))) (min (max 3 6) (max 5 7 2)))
(+ (max 2 (· 4 0 )) (min 6 7 ))
(+ (max 2 0 ) 6 )
(+ 2 6 )
8
- 式は内側の括弧から順に計算できます.
- 解説
- この問題は,関数型言語や入れ子構造を題材としています.
- 入れ子の考え方は,スプレッドシートなどでも一般的に使われています:
(例えば,列ごとに値の総和を求めるなどの)ある関数を用いてデータを生成し,
(例えば,最大を求めるなどの)別の関数を用いて別のデータを生成する.
この計算モデルは,様々な方法が利用されています:
このような言語には Lisp, Scheme, Racket などがありますし,
C# のラムダ式や Python の filter のように,より現代的な言語でも利用されています. - 理論的な話をすると,この問題で扱っている計算の表現方法は,非演算子(オペランド)の前に演算子(オペレータ)を記述するポーランド記法の特別な場合になっています.