小编kin*_*nix的帖子

麻烦连接函数的结果

我的教授让我们用F#实现笛卡尔积.他正在为我们提供一种类型:

type SET =
   | I of int list                                  // I [1;2;3]
   | S of string list                               // S ["a";"b";"c"]
   | IS of (int * string) list                      // IS [(1, "a");(2, "b")]
   | II of (int * int) list                         // II [(1,2); (3,4); (5,6)]
   | SS of (string * string) list                   // SS [("a","b"); ("c","d")]
   | SI of (string * int) list                      // SI [("a", 1); ("b", 2); ("c", 3)]
   | SISI of ((string * int) * (string * int)) …
Run Code Online (Sandbox Code Playgroud)

f#

3
推荐指数
1
解决办法
59
查看次数

使用List.map创建奇数列表

我的教授让我们根据连续分数创建一系列与近似pi和e相关的函数.为了进行设置,他让我们创建一个函数,它接受一个整数并映射许多奇数的平方,从1开始.例如,这是所需的行为:

oddSquares 6;; 
val it : int list = [1.0; 9.0; 25.0; 49.0; 81.0; 121.0]
Run Code Online (Sandbox Code Playgroud)

我可以看到一个映射可能会用于对列表中的所有值进行平方,但我无法找到将数字映射到数字列表的方法.我不想让任何人为我编写代码,但有条不紊地,我在组装基本列表时想要做什么?

感觉最好的方法是从6个术语的基数开始向后工作.然后我们评估第6个奇数项(实际上是11或2x-1),但随后需要一些递归方法来继续评估oddSquares的较小值.我也认为这违背了试图将数字映射到这些值的精神.有人可以给我一些关于从号码到列表表格的第一次翻译的指导吗?

f#

3
推荐指数
1
解决办法
147
查看次数

标签 统计

f# ×2