01 02...49这49个两位字符串中,取n(n:1--48)个为一组,全部取完不重复的所有组

解决方案 »

  1.   

    var a:array[0..49]of integer;procedure TForm1.comb(m:integer;k:integer);
    var i,j:integer;
        s:string;
    begin
      for i:=m downto k do
        begin
          a[k]:=i;
          if (k>1) then
           comb(i-1,k-1)
          else
            for j:=a[0] downto 1 do s:=s+format('%2.2d',[a[j]])+' ';
            if s<>'' then
             Memo1.Lines.Add(s);
             s:='';
        end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var n:integer;
    begin
      n:=47; //取n=47
      a[0]:=n;
      comb(49,n);
    end;