【问题标题】:Introduction to programming using SML exercise 1.3使用 SML 进行编程的介绍练习 1.3
【发布时间】:2014-08-07 12:08:57
【问题描述】:

我目前正在阅读 1999 年出版的《使用 SML 编程简介》一书。我希望您能帮助我了解如何为练习 1.3 声明递归函数,我已经坚持了一段时间了。

1.3:声明一个递归函数 f: int -> int,其中 f(ᶯ) = 1 + 2 + ... + (ᶯ - 1) + ᶯ ᶯ ≥ 0

提示:使用两个带有 0 和 ᶯ 的子句作为参数模式。说明声明对应的递归公式。

如果有人能就此提供一些指导,那就太好了。

【问题讨论】:

  • 你试过什么?
  • 我还没有为这个函数编写任何代码,因为我想了解它的作用。

标签: math recursion functional-programming sml


【解决方案1】:

更多文字提示:

解决方案应该是这样的:

fun sum 0 = ... something ...
  | sum n = ... something else ...

你需要弄清楚

  1. 什么是sum 0
  2. 您需要哪些信息才能计算sum n

如果你被卡住了,把f(1)f(2)f(3)f(4)的计算写在一张纸上,看看你能不能找出一个规律。

【讨论】:

  • 我认为这可能对我有所帮助。这是我所拥有的:fun f 0 = 0 | f n = n + f(n-1);
猜你喜欢
  • 2011-09-21
  • 1970-01-01
  • 1970-01-01
  • 2020-12-01
  • 2016-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多