Dyalog APL比賽-2019年-Phase 1-第2題
先看看題目要求:
題目要求寫一個函數Z,當Z被輸入引數 N(0至100)的時候,傳回相對應的字母評級,就好似小學生的考試評級一樣。
提交的程式碼如下:
- 表達式 (65 5 10 10 11)/'FDCBA' 用 replicate 函數 "/" 建構陣列 V
- 於是陣列 V 由65個 F,5個 D,10個 C,10個 B,11個 A 組成
- 基於右引數 ⍵,提取V的第 ⍵+1 個元素(何以?因為 Z 0 要傳回 V 的第1個元素,而 Z 100 則需要傳回V的第101個元素,如此類推)
- 注意,這個寫法容許 ⍵ 係陣列,也是題目的要求。例如:
APL 的簡潔總是給人一種不能言喻的美感。
一項更正:
原文介紹 "/" 時把它稱作運算子,但在以上用法中,其作用應為函數。
留言
張貼留言