求“取随机数”的算法:
有N个整数,没有规律,怎么从他们中间随机取出M个数
麻烦各位大虾指教(代码最好),先谢谢各位

解决方案 »

  1.   

    可以先办N数字放在数组中,然后在0-(N-1)范围内得到M个数字,然后以这M个数字作为下标,得到N个整数中的M个数字
      

  2.   

    用random函数,向楼上说的把这些数放到数组里,比如说有20个数,随机取出20之内的某个数random(20)。求得该数组的下标,那样就得到这个数了。使用random之前要先Randomize一下。
      

  3.   

    首部 function RandomFrom(const AValues: array of string): string; overload; $[StrUtils.pas
    功能 随机返回字符串数组AValues中的一个元素
    说明 之前建议执行Randomize
    参考 function System.Random
    例子 Randomize; Edit3.Text := RandomFrom(['a1', 'a2', 'a3', 'a4']);