我正在使用emacs在sml中编写一个函数,当我尝试编译此代码时
fun tryDivide small n =
if n = 1 then true
else if ((small mod n) = 0) then tryDivide small (n-1)
else false
fun lcmHelper small div =
if tryDivide (small div) = false then lcmHelper ((small+div) div)
else small
(*Start by calling this*)
fun lcm d =
val small = d
lcmHelper (small d)
应该找到可以除以d的最低值(有趣的lcm d) 我很确定该算法有效,但存在语法错误。
在“fun lcm d =”的开头,我收到一条错误,上面写着“插入EQUALOP时出错”
任何可能导致此问题的想法? 提前谢谢!
答案 0 :(得分:1)
fun lcm d =
let
val small = d
in
lcmHelper (small d)
end