如何写"1234567890abcdefg..."的任意组合的算法,需要Delphi版的,谢谢!

解决方案 »

  1.   

    全部穷举?.......按长度做个双重循环就可以了推荐使用IBM‘s 更深的蓝来execute this shitAppLicAtIoN
      

  2.   

    嵌套循环,自己设置功能吧,跳转,break等等的
      

  3.   

    版主,怎么不和我联系,有人冒充你和我联系,给我被骗,并给了他原代码。晕ing
      

  4.   

    kiboisme(jolt):我给你发了消息,你没收到吗?
      

  5.   

    前段时间回过几个类似的问题!http://expert.csdn.net/Expert/topic/1463/1463128.xmlprocedure GetNum(Str:String;n:integer);
    var
        m:integer;
        nStr:String;    procedure Num(i:integer);
        var
          j:integer;
        begin
          Inc(m);
          for j:=i+1 to Length(Str)-n+m do
          begin
            nStr:=nStr+Str[j];
            if m=n then
            begin
              Memo.Lines.Add(nStr);
              nStr:=Copy(nStr,1,m-1);
            end
            else
            begin
              Num(j);
            end;
            if j=Length(Str)-n+m then
            begin
              Dec(m);
              nStr:=Copy(nStr,1,m-1);
            end;
          end;
        end;begin
        if Length(Str)<n then Exit;
        m:=0;
        Num(0);
    end;如GetNum('1234567890abcdefg',n);即可取得N个数的全部组合!再看这张贴子http://expert.csdn.net/Expert/topic/1455/1455838.xmlvar
      NumArr:array[0..99] of integer;
      GetNumArr:array[0..29] of integer;
      i:Integer;  procedure GetNum;
      var
        i,n:integer;
      begin
        for i:=Low(NumArr) to High(NumArr) do
          NumArr[i]:=i+1;
        Randomize;
        for i:=Low(GetNumArr) to High(GetNumArr) do
        begin
          n:=Random(High(NumArr)+1-i);
          GetNumArr[i]:=NumArr[n];
          if GetNumArr[i]<>NumArr[High(NumArr)] then
          begin
            NumArr[n]:=NumArr[High(NumArr)+1-i];
          end;
        end;
      end;随机从100个数里取30个数
      

  6.   

    To kiboisme:来CSDN大家都是朋友,这种简单算法,几分钟就能写出来,有就大家一起共享,不要说骗这么难听嘛~~~^_^
      

  7.   

    To ehom(?!) 
    这个东西说简单也简单说复杂也复杂。
    如果用来猜测密码,就很讲究了,比如过滤掉一些无用的组合,左右手习惯规则,数字习惯,大小写,那些组合先猜,那些后猜,等等。这些都要在程序里体现啊。
    如果用来干其他事情,完全组合的情况,就很简单了。
      

  8.   

    kiboisme(jolt) 贴出来大家学习!!