导航:首页 > 源码编译 > php固定概率算法

php固定概率算法

发布时间:2025-03-31 17:42:52

php ThinkPhP 5.1 按概率生成随机数

echo (rand(1,100) <= 70 ? rand(1,50) : rand(51,100))/100;
先说明:伪随机
rand(1,100)产生1~100范围内随机数
如果 产生的随机数 小于等于 70
返回 1~50 随机数
否则返回 51~100 随机数

最后随机数/100即可。

为什么除以100,是因为rand 的参数均为int,所以放大100倍获取随机,得出结果后再缩小100倍刚好就是分了。

Ⅱ php取随机数概率算法

问题有点模糊,我先暂时把“保留两位小数”理解成“[输出的随机数]保留两位小数”,而非其他因素保留多少小数。
又把“1-10”,理解成包括1和10在内其两数之间的小数,
把10-50,理解成10.01到50.00之间的数,不包括10.00。以此类推。

<?php
functiongenRandom(){
$p=rand(1,100);
if($p<=60)$r=rand(100,1000);
elseif($p>60and$p<=85)$r=rand(1001,5000);
elseif($p>85and$p<=95)$r=rand(5001,10000);
else$r=rand(10001,20000);
return$r/100;
}
$a=array();
$total=50000;
for($i=0;$i<$total;$i++){
$c=genRandom();
if($c>=1and$c<=10)$p=0;
elseif($c>10and$c<=50)$p=1;
elseif($c>50and$c<=100)$p=2;
elseif($c>100and$c<=200)$p=3;
else$p=4;
if(!array_key_exists($p,$a))$a[$p]=1;
else$a[$p]++;
}
if(!array_key_exists(4,$a))$a[4]=0;
echo"总样本数".$total.'<br/>';
echo"1-10样本数".$a[0].',占'.($a[0]/$total*100).'%<br/>';
echo">10-50样本数".$a[1].',占'.($a[1]/$total*100).'%<br/>';
echo">50-100样本数".$a[2].',占'.($a[2]/$total*100).'%<br/>';
echo">100-200样本数".$a[3].',占'.($a[3]/$total*100).'%<br/>';
echo"其他样本数".$a[4].',占'.($a[4]/$total*100).'%<br/>';
总样本数50000
1-10样本数30052,占60.104%
>10-50样本数12404,占24.808%
>50-100样本数4993,占9.986%
>100-200样本数2551,占5.102%
其他样本数0,占0%

Ⅲ php一个抽奖函数(自定义中奖项数和概率)

解决思路如下:
1)以数字区段来对应中奖情况例如有一、二、三等奖,各自的中奖概率分别为10%、20%、30%那么有如下划分:1-10,一等奖;11-30,二等奖;31-60,三等奖,60以上,未中奖

2)产生一个1~100之间的随机数,看随机数属于哪个奖项区域,以确定中奖情况

Ⅳ php 如何随机生成指定数字和概率

亲,你可以这样做呦!~~

如果只有这三个数,是不好弄出 0:85% 1:5% 2:10%的

但是你如果想提高某个数字出现的概率,你可以适当让这个数组增多。

你可以这样写:

<?php


//定义一个数组,里面有85个0
$num0=array_fill(0,85,0);
//定义一个数组,里面有5个1
$num1=array_fill(1,5,1);
//定义一个数组,里面有10个2
$num2=array_fill(2,10,2);
//总数组,里面总共100个元素
$allNum=array_merge($num0,$num1,$num2);
//随机取一个元素
$randKey=array_rand($allNum);
$randnum=$allNum[$randKey];

//以上就可以实现出现0的概率是85%出现1的概率是5%出现2的概率是10%了,因为一共一百个数,里面有85个是0,5个是1,10个是2

希望可以帮到你呦!~如果有不正确的地方,欢迎指正!~~

本人博客:https://www.boboidea.com ,欢迎交流学习!~~

阅读全文

与php固定概率算法相关的资料

热点内容
主机虚拟云服务器 浏览:617
删除分区加密的空间会不会恢复 浏览:702
京东app客户上门怎么看搜索量 浏览:739
怎么在农行app购买黄金 浏览:45
c型开发板和单片机 浏览:146
虚拟机建立用户的模板文件夹 浏览:904
无锡代码编程培训班 浏览:631
eps图形数据加密 浏览:933
没有滴滴app怎么打车 浏览:101
大数乘法java 浏览:1001
如何登录服务器看源码 浏览:526
如何做服务器端 浏览:157
注册服务器地址指什么 浏览:434
文本命令行 浏览:98
扑克牌睡眠解压 浏览:196
rc4算法流程图 浏览:161
胡萝卜解压方法 浏览:38
扫描pdf格式软件 浏览:879
程序员在银行开账户 浏览:517
android数据库下载 浏览:752