解决方案 »

  1.   

    产生 n/2 个随机数(0,1),如果你是在3个里抽,就产生n/3个随机数(0,1,2)
    然后取的数分别为这组随机数的序列位置i和这个随机数r的函数
    所以结果为
    a[i*2+r] 如果是3个里面选就是a[i*3+r]
      

  2.   

    采取的declare @temptable (zhi,id)
    id不是自增,否则删除的时候序号是加上去的
    这样每次都是从1开始了
    然后在不管值的时候,等距2或者3随机抽序号,即时取出值
    就是要一开始申请一变量知道总共要出几个值,没抽一个自减1;直接最后不抽,不管是否有剩余号;