我有一個寫笛卡爾冪函數的問題。我發現了很多關於計算笛卡爾乘積的例子,但沒有一個關於笛卡兒乘方的例子。例如,[1; 2]上升到3 = [[1; 1; 1]; [1; 1; 2]; [1; 2; 1]; [1; 2; 2]; [2; 1; 1]; [2; 1; 2]; [2; 2; 1]; [2; 2; 2]]
我用下面的代碼來計算笛卡爾乘積:F#:如何找到笛卡爾電源
let Cprod U V =
let mutable res = []
for u in U do
for v in V do
res <- res @ [[u;v]]
res
,並試圖計算笛卡爾動力。 我用下面的代碼來計算笛卡爾乘積:
let Cpower U n =
let mutable V = U
for i=0 to n-1 do
V <- Dprod U V
V
Visual Studio中說:錯誤統一「」 A「和'名單」時產生的類型將是無限的。我會感謝任何幫助和聯繫。
你知道@有線性運行時嗎?最後使用::和reverse(如果甚至有必要的話)會比使用@快得多。 – sepp2k 2010-04-15 20:42:56