gpt4 book ai didi

ocaml - 一个简单的 OCaml 程序

转载 作者:行者123 更新时间:2023-12-04 23:05:10 24 4
gpt4 key购买 nike

我想学习一点 OCaml,只是为了体验一下 C++ 和 Java 以外的编程语言。如果您帮助我完成以下程序,我将非常感激:基本上用户输入一个正整数。打印从 N 到 0 的所有整数的总和。

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

任何帮助将不胜感激。

最佳答案

您描述算法的方式就是您通常如何用 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)

调用方式: print_sum 0 11 ;;
要编写递归函数:
  • 当不需要递归时,首先考虑基本情况。这将使您免于忘记它(这里是 n <= 0 )
  • 一般情况:您如何才能更接近已经编写的基本情况?这是通过使用 n-1 调用函数.
  • 关于ocaml - 一个简单的 OCaml 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14181145/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com