這是代碼:
func [] _ = 0
func (head:tail) num
| head > num = func tail num
| head <= num = head (func tail num)
main = print(func [4,1,2,5,7,6] 2 * 3)
這是我的解決方案:
4 func[1,2,5,7,6] 6
-> 1 func[2,5,7,6] 6
-> 2 func[5,7,6] 6
-> 5 func[7,6] 6
-> func[6] 6
-> 6 func[] 6
---> 4 1 2 5 6 = 18
但是我在網上查的編譯器解決方案是9,我哪里弄錯了我不明白。這是非常簡單的代碼。
uj5u.com熱心網友回復:
提供引數的運算式print應理解為
(func [4, 1, 2, 5, 7, 6] 2) * 3
不是
func [4, 1, 2, 5, 7, 6] (2 * 3)
因為函式應用優先于任何中綴運算子。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/482701.html
