一个简单的OCaml程序 我想学习一点OcAML,只是想尝尝除C++和java之外的编程语言。如果你能帮我做以下程序,我将非常感激:基本上,用户输入一个正整数。打印从N到0的所有整数之和

一个简单的OCaml程序 我想学习一点OcAML,只是想尝尝除C++和java之外的编程语言。如果你能帮我做以下程序,我将非常感激:基本上,用户输入一个正整数。打印从N到0的所有整数之和,ocaml,Ocaml,显然,您创建了一个整数N,让用户输入它的值。创建类型为int的变量sum。有一个for循环,该循环将N添加到sum中,然后将N的值减一。当N大于1时,循环将运行。不过,我不知道如何在OCaml的语法中做到这一点 >任何帮助都会被高度赞赏。 java >你描述算法的方式是如何在C++或Java中实现它。您可以在OCaml中以相同的方式编写它,但惯用的方式是不改变变量的递归函数,如下所示: let rec print_sum acc n = if n <= 0 then Printf

显然,您创建了一个整数
N
,让用户输入它的值。创建类型为
int
的变量
sum
。有一个
for
循环,该循环将
N
添加到
sum
中,然后将
N
的值减一。当
N
大于1时,循环将运行。不过,我不知道如何在OCaml的语法中做到这一点


<> >任何帮助都会被高度赞赏。

java >你描述算法的方式是如何在C++或Java中实现它。您可以在OCaml中以相同的方式编写它,但惯用的方式是不改变变量的递归函数,如下所示:

let rec print_sum acc n =
  if n <= 0
  then Printf.printf "Sum: %d\n" acc
  else print_sum (acc + n) (n - 1)
让rec根据附件n打印总和=

非常感谢,先生!这就是我需要的答案!这里有一个解决方案,可以减少膨胀。让print_sum n=print_int(n*(n+1)/2)