我有一个小问题:我想使用OCaml解决这个问题,所以我尝试了这个 ->
-> let rec somme x = if ( nor (bool_of_int (x mod 3)) (bool_of_int (x mod 5))) then x + (somme x-1) else (somme x-1) ;;
val somme : int -> int = <fun>
-> somme 1000 ;;
Stack overflow during evaluation (looping recursion?).
我做错了什么?
我尝试的新代码:
let somme2 x = if (( nor (bool_of_int (x mod 3)) (bool_of_int (x mod 5)))) then x + somme (x-1) else somme (x-1) ;;
let somme x = if x = 0 then x else somme2 x ;;
同样的错误。