作者slanla (slanla)
看板Visual_Basic
标题Re: [ASP ] 想写个像乐透的程式但是遇到了瓶颈
时间Sun Mar 30 13:35:51 2008
来个提示好了
假设要取1~5 3个不重复的数字
1.首先设一阵列大小为5内容为1,2,3,4,5
2.设一计数器值为5,表示还有5个球没拿
3.取一乱数0~5,假设为1
4.交换位置4与1,并将计数器设为4,表示还有4个球没拿
此时阵列内容为1,5,3,4,
2
5.取一乱数0~4,假设为1
6.交换位置3与1,并将计数器设为3,表示还有3个球没拿
此时阵列内容为1,4,3,
5,2
7.取一乱数0~3,假设为0
8.交换位置2与0,并将计数器设为2,表示还有2个球没拿
此时阵列内容为3,4,
1,5,2
9.完成(因为已经取出3个球了)
这方法不用担心rnd()会取到重复~~因为只是取得到位置.而非值
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.127.25.128
1F:推 xtimer:对这个方法还满有兴趣的 可是...还没教到计数器= = 03/31 02:12
2F:→ xtimer:想看 但是不会写~"~ 03/31 02:13