J jhddx Unregistered / Unconfirmed GUEST, unregistred user! 2007-06-26 #1 我需要自动生成一组随机数,要求必须成对出现,例如: 1 2 2 3 4 5 2 4 1 2 3 5 这样的..位置不限,谁多谁少不限,关键是成对! 类似于连连看游戏的那种... 请高手给个思路 谢谢了..
我需要自动生成一组随机数,要求必须成对出现,例如: 1 2 2 3 4 5 2 4 1 2 3 5 这样的..位置不限,谁多谁少不限,关键是成对! 类似于连连看游戏的那种... 请高手给个思路 谢谢了..
无 无柄叶 Unregistered / Unconfirmed GUEST, unregistred user! 2007-06-26 #3 对啊,这个不是随机数,是随机次序,你可以先自己定好数,然后随机次序出现。就向楼上说的那样。呵呵。 []
C creation-zy Unregistered / Unconfirmed GUEST, unregistred user! 2007-06-26 #4 预先成对生成,然后打乱顺序,是一个很直观的方法。具体打乱方法可以参考542886号贴 子。不过这种方法在序列较长时的空间占用比较大,我以为只要记录数字出现次数的奇偶性 就够了。在序列快结束时,将几个出现次数为奇数的数字生成出来即可。
预先成对生成,然后打乱顺序,是一个很直观的方法。具体打乱方法可以参考542886号贴 子。不过这种方法在序列较长时的空间占用比较大,我以为只要记录数字出现次数的奇偶性 就够了。在序列快结束时,将几个出现次数为奇数的数字生成出来即可。
J jhddx Unregistered / Unconfirmed GUEST, unregistred user! 2007-06-27 #5 TO:creation-zy 你最后说的那个方法,也存在一个问题啊..如果序列结素的时候再留几个空用来配对是吧.. 比如我要取100个值 当我取到96个的时候..前面全部配好对了..那我第97个改怎么取呢.......
TO:creation-zy 你最后说的那个方法,也存在一个问题啊..如果序列结素的时候再留几个空用来配对是吧.. 比如我要取100个值 当我取到96个的时候..前面全部配好对了..那我第97个改怎么取呢.......
C creation-zy Unregistered / Unconfirmed GUEST, unregistred user! 2007-06-27 #6 如果前面都配好了,那就变成了在剩余长度中进行随机成对生成了——和原问题一样了。 ——这个问题是递归的,哈哈。