求洗牌算法:将52张牌等概率的放在52个位置 如题,要点是等概率说出算法就好了,不一定要程序CODE 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先放个整数数组p[52]设个循环for(int i =0; i <52;i++){ int position = (int)((52-i)*Math.random()+1);//为第i张牌等概率找到p数组中的位置,从第一个开始计数,若被占则跳过此位置从下个位置继续计数,数到position时把牌放入此位置。} 先放个整数数组p[52]while(true){int ran1=..int ran2=..得到两个随机数,然后p[ran1],p[ran2]调换位置} jFresH_MaN(TM) ( ) 信誉:164 正解呀我也想了办法,效率和你的差不多,但是代码比你的那个估计多几行,唉,我就不在这里献丑了 关于正则表达式 步长最短排序算法 Java API 是规范还是实现? 在JAVA中,如何使用本地用户登录SQL SERVER 2000 寻求 Jgoodies外观 100 分相送 请问java中如何获取windows 本机或者域用户的账号密码来验证用户 类似delphi 可以用控件迁入一个浏览器,java有没有这样的控件呢? 怎样在jsp页面得到系统的日期的年和月?谢谢。。。 scjp考试的sdk1.2和sdk1.4有什么区别? 又一个问题。。。 getToolkit().getImage("mypic.jpg")中的图片要放到哪儿 求一本地applet可以与application通信的例程
设个循环for(int i =0; i <52;i++){
int position = (int)((52-i)*Math.random()+1);//为第i张牌等概率找到p数组中的位置,从第一个开始计数,若被占则跳过此位置从下个位置继续计数,数到position时把牌放入此位置。
}
while(true)
{
int ran1=..
int ran2=..
得到两个随机数,然后
p[ran1],p[ran2]调换位置
}
正解呀
我也想了办法,效率和你的差不多,但是代码比你的那个估计多几行,唉,我就不在这里献丑了