[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 17# WHY


    这样是不是有点不随机了  比如任意一个值在第一行出现后就不可能在第二行出现。

TOP

回复 20# WHY
所以我感觉这个是一个算法题,需要判断如果超过500个了就不再使用它了,还得考虑的一个点是500-任意一个值已经使用过的次数不能大于剩余生成的行数。
不过既然楼主对数据没有这方面的需求,你的这个方法还是比较巧妙的。
1

评分人数

TOP

回复 25# qixiaobin0715
我也说了思路没问题啊,只是没那么随机,可能如果要生成的数据量足够多才能必然出现互补行吧,虽然我没计算过到底需要多少行才出现,我也不会算。

    举个小例子,0-9  每个出现2次
01234
56789
03579
12468

上面是生产的12互补,34互补
把2行的7和4行的4换一下,有没有互补行呢
01234
56489
03579
12768

所以你是如何得出必有互补行的
1

评分人数

TOP

回复 28# buyiyang


    我试着py写,和你遇到一样的问题,我是把50000个数放一起,转set去重然后取50个  然后把这50个数从5万个数里剔除掉  然后再循环  也是到970-980左右 出现剩下的数字重复了取不到50个了
所以还是得设计算法来处理,我就水平有限,搞不定了
1

评分人数

TOP

回复 30# qixiaobin0715


    大家互相交流是好事,能学到自己想要的都是好事。采用互补的2行的这种很巧妙,而且运行很快,生成的数据也能用。我是没想到这种方式

TOP

返回列表