2015-11-02 63 views

回答

4

不幸的是,PARI沒有一個內置的命令來完成所有你需要的東西。

功能forvec(標誌= 2)適合非常好的組合問題。所以你的功能可以如下:

subsets(A, k) = { 
    my (lst = List()); 
    forvec(v = vector(k, i, [1, #A]), listput(lst, vecextract(A, v)), 2); 

    Vec(lst) 
}; 

subsets([3,7,11,14,18], 3) 
gp> [[3,7,11], [3,7,14], [3,7,18], [3,11,14], [3,11,18], [3,14,18], [7,11,14], [7,11,18], 
    [7,14,18], [11,14,18]] 
相關問題