先回顧一個數列的概念:按一定次序排列的一列 數 稱為數列...(請參見百度百科:數列)
幾個簡單的數列:
1, 1, 1, 1, 1, 1, 1... //數列1
0, 1, 2, 3, 4, 5, 6, 7... //數列2
0, 1, 4, 9, 16, 25, 36, 49... //數列3
通項公式的定義:數列的第n項與項的序數這間的關系,也就是數列生成算法
上面幾個數列可表示為
An = F(n) = 1
An = F(n) = n
An = F(n) = n * n
有了數列和通項公式的定義,我們的任務就好描述了:
用最簡潔的代碼描述通項公式,用最簡潔算法生成數列的前N個數。
在此要求下,用常規代碼是做不到簡潔的,這裡我們用lambda表達式描述通項公式:
//數列1 通項公式
lambda表達式是不是與數學公式很像啊!
再來看生成算法,這裡用了一個不一般的擴展: