Я хочу создать последовательность, подобную таблице умножения. Поэтому для начала 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
Вот мой неудачный старт, но я не могу понять, как правильно увеличить j при достижении остановки или как сбросить i обратно к началу.
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