由数字0123456789任取三个数字(组合),数字不重复,不排序,有120种排号,如012,013,,,,
  将上面120种排号,任取3种排列,可重复,要排序,如012|012|012,012|013|014,,,,,共有120*120*120种排法,并将其写入数组.
  

解决方案 »

  1.   


    var
       i,j,k:integer;
       str:string;
    begin
    for i:=0 to 9 do
       begin
       for j:=0 to 9 do
           begin
           if j=i then
              continue;
           
           for k:=0 to 9 do
              begin
              if (k=i)or(k=j) then
                 continue;
             
              str:=inttostr(i)+inttostr(j)+inttostr(k);
              memo1.lines.add(str);
              end;
           end;   end;
    end;
      

  2.   


    Delphi(Pascal) code
    var
       i,j,k:integer;
       str:string;
    begin
    for i:=0 to 9 do
    begin
      for j:=0 to 9 do
      begin       
        for k:=0 to 9 do
        begin         
          str:=inttostr(i)+inttostr(j)+inttostr(k);
          memo1.lines.add(str);
        end;
      end;
    end;
      

  3.   


    var
        i,j,k,s:integer;
        str:string;
        Temps:Array[0..119] of string;
        Temps2:Array[0..120*120*120] of string;
    begin
        str:='';
        s:=0;
        for i:=0 to 7 do
            for j:=i+1 to 8 do
                for k:=j+1 to 9 do
                begin
                    str:=IntToStr(i)+IntToStr(j)+IntToStr(k);
                    Temps[s]:=str;
                    inc (s);
                end;    s:=0;
        for i:=0 to 119 do
            for j:=0 to 119 do
                for k:=0 to 119 do
                begin
                    Temps2[s]:=Temps[i]+'|'+Temps[j]+'|'+Temps[k];
                    Memo1.Lines.Add(Temps[s]);
                    inc(s);
                end;
    end;