我想生成一个像乘法表一样的序列。因此,对于1一开始和10停止我正在寻找像如何生成乘法表序列?
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, // 1*1 - 1*10
2, 4, 6, 8, 10, 12, 14, 16, 18, 20, // 2*1 - 2*10
3, 6, 9, 12, ... // 3*1 - 3*10
下面的顺序是我在这跛脚开始,但我似乎无法弄清楚如何干净地增加Ĵ当停止已经到达,或者如何重置我回到开始。
let multable (start,stop) =
(start,start)
|> Seq.unfold(
fun (i,j) ->
Some(i*j, (i+1, j)))
let its = multable(1, 1)
let first10 = Seq.take 10 its
printf "%A" (Seq.to_list first10)
这当然给我1,2,3,4,5,6,7,8,9,10
谢谢,我结束了第一个构造。我希望能够过滤所有这些数字的序列。可能会过滤这些序列的第二个“维度”,但这对我来说似乎更容易。 – esac