【发布时间】:2020-12-17 07:48:30
【问题描述】:
我无法理解仅使用迭代和乘法在 SML 中实现幂函数的方法。
我的迭代如下:
fun iterate 0 f x = x
| iterate n f x = iterate (n-1) f (f x);
虽然我的乘法基本上是递归迭代
fun multiply 0 f = 0
| multiply f x = iterate x (fn x => x + 1) (multiply x (f-1));
幂函数基本上是相同基数乘法的迭代,但我不知道要递减哪个值
power n f = iterate (mult n n) (fn x => x + 1) (power (n) (f-1))
这绝对是错误的
【问题讨论】:
-
您的问题绝对是this question 的重复,我今天早些时候对此给出了广泛的回答。看看那个。 :-)