關閉。這個問題需要細節或清晰。它目前不接受答案。
想改進這個問題?通過編輯此帖子添加詳細資訊并澄清問題。
15 小時前關閉。
社區正在審查是否在3 小時前重新提出此問題。
改進這個問題data Nat = Zero | Succ Nat
在 Haskell 中,使用宣告,你如何計算自然數n和m,的冪n^m?
exponential :: Nat -> Nat
uj5u.com熱心網友回復:
您可以通過首先實作加法和乘法來制作它:
plus :: Nat -> Nat -> Nat
plus n Zero = n -- n 0 = n
plus n (Succ m) = Succ (plus n m) -- n (m 1) = 1 (n m)
mult :: Nat -> Nat -> Nat
mult n Zero = Zero -- n * 0 = 0
mult n (Succ m) = plus n (mult n m) -- n * (m 1) = n n * m
expo :: Nat -> Nat -> Nat
expo n Zero = Succ Zero -- n^0 = 1
expo n (Succ m) = mult n (expo n m) -- n^(m 1) = n * n^m
請注意,您所描述的求冪型別應該是Nat -> Nat -> Nat,而不是Nat -> Nat。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/478652.html
標籤:哈斯克尔
