例如 第一个参数给1,2,3,4
第二个参数给 3
则计算出所有所有的组合 123,134,234,124

解决方案 »

  1.   

    经典组合数学问题啊。列出集合{1,2,..n}的所有r-组合 
     (1)边界条件:从1,2,..r开始,到n-r+1,n-r+2,...n-1,n结束。
     (2)设当前产生的r-组合为A0,A1,...Ar( 一定满足A0<A1<...<Ar ),则产生下一个r-组合的规则是:
    从右往左,找到第一个这样的数Ai,它满足条件:Ai<n且Ai+1在A0,A1,...An中没有出现,于是将A[i]替换为Ai+1,后面的元素为Ai+2,Ai+3..., 直到满足长度为r结束。