找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 4525|回复: 2

NXT-G实现的抽签

[复制链接]
发表于 2014-4-22 22:01:14 | 显示全部楼层 |阅读模式
本帖最后由 捞屎人 于 2014-4-23 20:53 编辑

群内有人在讨论抽签问题,起初想法是将每次抽中的签置零处理,但是有人提出这个算法很不好,会有冗余的循环,比如说有30张签, 那么最后一次抽签的时候抽中签的概率是1/30,增大了运算复杂度。所以后来考虑将每次抽中的签签号记下来并把此编号后面的签值都向前推一次,但是后来想了下并不需要把该编号后面的全部签值前移,只要把末尾的签值刷入该签,并且缩小随即函数的取值上限即可大大缩小运算复杂度。
这次试验只有10个签 ,只是不知道G语言的case开关可以撑到多少,有兴趣的可以自己增加试试。
模块中有本人自己写的利用G语言case开关实现的数组模块。至于ev3和此算法一样,而且ev3有自己的数组模块,程序会更简练些

chouqian.jpg
数组.jpg

input.rbt (970.58 KB, 下载次数: 25) 数组输入模块
output.rbt (968.01 KB, 下载次数: 27) 数组输出模块

抽签.rbt (1.36 MB, 下载次数: 99)

数组范例.rbt (429.21 KB, 下载次数: 39)






如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2014-4-23 08:43:14 | 显示全部楼层
高手
逻辑蛮难的。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2014-4-23 14:49:57 | 显示全部楼层
前一阵世界杯抽签的时候做一个玩了下,最大的问题就是你开始所说的,32个签,如果抽出一个,然后再继续随机抽选的话就会出现问题
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-3-29 01:13 , Processed in 0.122149 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表