题目:产生0-9中的随机数,要求0到9出现的概率依次递减,
一般思路,把10个0,9个1,8个2.....2个8,1个9放到数组中,然后随机生成数组下标,按下标取出数字.
二般思路:生成两个0-9的随机数,取小的那个,这个思路(手链魔咒提出)说实际的不知道是什么原理,但是实验证明,确实能达到效果.
验证方法:
程序代码
<?php
function fun(){
$num = rand(0,9); //10以内的数字平均分配
$num2 = rand(0,9);
($num2<=$num) ? $return.=$num2 : $return.=$num;
return $return;
}
function totalStr($haystack, $needle,$i = 0){//检验字串中某个字符出现的次数
while(strpos($haystack,$needle) !== false) {
$haystack = substr($haystack, (strpos($haystack,$needle) + 1));
$i++;
}
return $i;
}
for ($i=0;$i<=1000;$i++){
$str .= fun();
}
for ($i=0;$i<=9;$i++){
echo totalStr($str,"$i")."\n"; //0-9出现的次数
}
?>
写下这片后不久,手链魔咒有优化了算法
具体见下:
程序代码
function getRand($min,$max) {
$num=rand($min,$max);
return rand($min,$num);
}
还有另一位高人写的一个函数,数学思想比较强,不太好理解
程序代码
function getRandomByFactor($max,$factor=2){
$c = rand(0,pow($max,$factor));
return $max - ceil(pow($c,1/$factor));
}
分享到:
相关推荐
标题 "C 代码 从均匀分布、正态分布或指数分布生成变量,使用内联随机数生成器进行非常快速的执行" 提供了一个关键信息,即这是一个C语言编写的程序,其主要功能是生成遵循特定概率分布(均匀分布、正态分布和指数...
在IT领域,随机数生成器、单纯形算法和Buffon针计算π是三个重要的概念,它们在数值计算、模拟和图形学中都有广泛的应用。让我们深入探讨这些知识点。 首先,随机数生成器是计算机科学中不可或缺的一部分,特别是在...
此时,需要调整随机数生成策略,以适应非均匀分布的情况。 以上是关于人教版高中数学必修三中涉及的整数值随机数产生的主要内容,包括基本概念、概率计算、随机数的生成方法以及随机模拟在概率估算中的应用。这些...
这个模型可以帮助我们理解和实践随机数生成以及概率统计的概念。 首先,我们要理解“模拟”的含义。在计算机科学中,模拟是指通过计算机程序来复制真实世界中的过程或事件。在这个特定的情况下,我们模拟的是掷筛子...
2. **随机数**:在第6讲中提到的随机数,通常指的是计算机生成的数值,用于模拟实验或抽样过程。在第7题中,通过在某个区域内随机投掷飞镖来估计单位圆内的概率,需要用到随机数来模拟投掷位置。 3. **模拟方法估计...
10. 第十题通过随机模拟方法计算图形围成的面积,利用随机数生成和几何变换来逼近实际面积。 11. 第十一题求点在正方体内,且距离中心超过1的概率,需要用到球的体积计算。 12. 第十二题比较两个区域的面积,求豆子...
第五个问题利用随机模拟来估计概率,通过随机数生成模拟运动员投篮的结果。在这里,随机数被用来代表投篮的命中或未命中,通过对大量模拟结果的统计,可以估算出三次投篮恰有两次命中的概率。 填空题部分则进一步...
这篇描述涉及到几个与算法、概率和数值计算相关的知识点: 1. **HitorMiss算法**:这是一种...以上就是从提供的信息中提炼出的相关知识点,涵盖了概率算法、数值计算、随机数生成、误差分析以及算法复杂度等多个方面。
7. **计算机随机数生成**:在第10题中,提到利用计算机产生0到1之间的均匀随机数,这是模拟实验或数值计算中常见的方法,事件发生的概率可以通过随机数的分布特性来求解。 8. **概率与不等式**:第11题和第12题中,...
- 22题:编程与概率问题,探讨了随机数生成和概率分布。这部分可能涉及随机数生成算法,以及对生成的随机数进行统计分析,比较不同程序的输出结果与预期概率的吻合度。 综合以上内容,此试题涵盖了高中数学中的...
这篇资料主要涵盖了高中数学中的几何概型和均匀随机数产生的概念。...同时,它们还展示了如何将[0,1]区间内的均匀随机数转换为其他区间内的均匀随机数,这对于模拟和计算机科学中的随机数生成非常重要。
1. **随机数生成**:在编程中,模拟掷骰子游戏需要生成随机数。这通常通过随机数生成器(Random Number Generator, RNG)实现。在Python中,我们可以使用`random`模块的`randint`函数来生成指定范围内的随机整数,...
概率模拟方法是一种通过随机抽样来近似计算复杂概率问题的技术,通常涉及到计算机生成的随机数。 在选择题的第一题中,问题涉及到在区间[-1,2]上随机选取一个数x,询问这个数落在区间[0,1]内的概率。解题的关键是...
5. **概率计算**:第五题通过随机模拟的方法估算概率,涉及概率论的基础知识,包括随机数生成和概率的计算。 6. **几何体体积**:第六题需要根据三视图计算几何体的体积,这需要对立体几何有深入的理解,能够从不同...
5. **随机数生成**:在P23.EX2和P23.EX3的实验程序中,可以看到使用`Math.random()`函数生成[0,1)之间的随机数,这是进行模拟和概率计算时常用的方法。在C++程序中,使用`rand()`函数和`srand()`函数生成随机数。 6...
这通常涉及使用计算机或计算器生成随机数,赋予每个随机数特定意义,统计符合特定条件的随机数个数,然后通过频率来近似概率。 在高考中,几何概型问题通常以选择题和填空题的形式出现,难度中等。解题的关键是正确...
15. 随机数的生成与概率计算:理解随机数生成的规则,计算中奖概率。 16. 不等式的恒成立问题:根据函数的性质,利用不等式恒成立的条件,求解参数的取值范围。 17. 利润与风险分析:基于市场需求分布,计算盈利...
15. 随机数生成与概率计算:第十五题与概率计算相关,涉及到均匀随机数的生成及条件概率。 16. 不等式恒成立问题:第十六题要求解使不等式对于某一区间恒成立的参数范围。 17. 频率分布直方图与决策问题:第十七题...
这种方法称为随机积分,它利用随机数生成器来模拟大量样本,从而得到近似解。 4. **切比雪夫不等式**:P24.EX4 引入了切比雪夫不等式,它是概率论中的一个重要工具,用于估计随机变量偏离其期望值的程度。不等式...
4. 随机模拟:第四题使用随机数模拟估计概率,这是一种统计学中的方法,通过随机数生成来近似真实概率。题目中用随机数表示射击结果,然后根据结果估算至少击中3次的概率。 5. 导数与斜率:第五题涉及导数的概念,...