| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4523 人关注过本帖
标题:52张扑克牌打乱顺序,求大神帮助
只看楼主 加入收藏
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
其实道理很简单。假设你是体育老师,你要将班里52个孩子顺序打乱,你先将52个孩子排好队,然后你蒙着眼睛在队列里挑,每挑出一个孩子就把他放在一边,然后在剩下的51个孩子里再随机挑,如此反复,放到一边的孩子不就是随机的一队了。这种方法只要经过52次随机挑选,即可得到一个随机的不重复数的队列,而你的算法就不知道要经过多少次帅选了,越往后,你选到不重复的数的概率越小,比如52张牌最后一个数随机选中的概率只有1/52,如果你用这个方法将1-1000的数随机打乱的话,估计程序是会死循环的,因为最后一个数随机选中的概率只有1/1000.

能编个毛线衣吗?
2015-04-27 08:21
·charles
Rank: 2
等 级:论坛游民
帖 子:67
专家分:48
注 册:2015-3-23
收藏
得分:0 
回复 11楼 wmf2014
我的那个想法是有不靠谱额。。。后面您提出的那个修改方法我懂了,我想问问,就是要求不重复的随机数,最有效率的算法是怎么做?

编程!编程!!编程!!!
重要的事情说三遍!!!!
2015-04-27 23:34
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
回复 12楼 ·charles
我觉得我在11楼已经解释的很明白了。

能编个毛线衣吗?
2015-04-28 07:17
·charles
Rank: 2
等 级:论坛游民
帖 子:67
专家分:48
注 册:2015-3-23
收藏
得分:0 
回复 13楼 wmf2014
不好意思,白天课程很紧张,所以才回复。
好的,谢谢,我再好好想想

编程!编程!!编程!!!
重要的事情说三遍!!!!
2015-04-29 23:12
快速回复:52张扑克牌打乱顺序,求大神帮助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037707 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved