好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php概率分布算法 php 概率

很多站长朋友们都不太清楚php概率分布算法,今天小编就来给大家整理php概率分布算法,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php 如何随机生成指定数字和概率? 2、 超级难的 php随机分配问题求教高手 3、 php里 ,怎么让数字按不同比 出现,如 1有%10几率出现 2有%30出现 3有%60机会 出现 等等。。 4、 php取随机数概率算法 5、 php概率比例算法问题 6、 php生成随机数,1-15之间,2出现的概率是80% 然后其它数字出现的概率是10% 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

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

本人博客: ,欢迎交流学习!~~

超级难的 php随机分配问题求教高手

关键在每个人抽的时候的概率要均等。

<?php

$numPpl=rand(3,15);

$a=array();

$sum=0;

echo "num of people:".$numPpl; 

foreach(range(1, $numPpl) as $i) {

   $a[$i]=mt_rand(0,100);

   $sum+=$a[$i];

}

array_walk($a, function($e)use($sum){

$e=$e*100/$sum;

});

echo '<pre>';

print_r($a);

echo "总和:".array_sum($a).'%';

num of people:8

Array(

    [1] => 6.3218390804598

    [2] => 12.068965517241

    [3] => 3.448275862069

    [4] => 19.540229885057

    [5] => 13.218390804598

    [6] => 3.735632183908

    [7] => 20.689655172414

    [8] => 20.977011494253

)

总和:100%

num of people:14

Array(

    [1] => 4.7697368421053

    [2] => 4.1118421052632

    [3] => 4.9342105263158

    [4] => 2.3026315789474

    [5] => 4.1118421052632

    [6] => 7.2368421052632

    [7] => 10.197368421053

    [8] => 15.789473684211

    [9] => 2.9605263157895

    [10] => 10.526315789474

    [11] => 15.460526315789

    [12] => 6.5789473684211

    [13] => 4.7697368421053

    [14] => 6.25

)

总和:100%

php里 ,怎么让数字按不同比 出现,如 1有%10几率出现 2有%30出现 3有%60机会 出现 等等。。

<?php

$myjilv = array(//配置出现几率

1 => array(1,10),

2 => array(11,30),

3 => array(31,100)

);

function dbt($jilv){//根据几率表产生对应的数字

mt_srand((double)microtime()*1000000);

$randval = mt_rand(1,100);

foreach($jilv as $k => $v){

if($randval>=$v[0] $randval<=$v[1]){

return $k;

}

}

}

echo dbt($myjilv);

?>

php取随机数概率算法

问题有点模糊,我先暂时把“保留两位小数”理解成“[输出的随机数]保留两位小数”,而非其他因素保留多少小数。

又把“1-10”,理解成包括1和10在内其两数之间的小数,

把10-50,理解成10.01到50.00之间的数,不包括10.00。以此类推。

<?php

function genRandom(){

$p=rand(1,100);

if($p<=60) $r=rand(100,1000);

elseif($p>60 and $p<=85) $r=rand(1001,5000);

elseif($p>85 and $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>=1 and $c<=10) $p=0;

elseif($c>10 and $c<=50) $p=1;

elseif($c>50 and $c<=100) $p=2;

elseif($c>100 and $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概率比例算法问题

一,先统计出总数N

二,增加 数据 arr=原数组 + 3*0.5-1

三,再随机就可以了;

php生成随机数,1-15之间,2出现的概率是80% 然后其它数字出现的概率是10%

$rand = 0; // 定义rank随机变量

if(mt_rand(1,100) <= 80) { // 控制2出现的概率为80%

    $rand = 2;

} else { // 剩余数字的概率为20%

    $rand = mt_rand(2,15); // 排除掉2号位置,用1去补2号位

    if($rand == 2) { // 当随机到2号位,则用1去补2号

        $rand = 1;

    }

}

echo $rand; // 输出结果

关于php概率分布算法的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php概率分布算法 php 概率的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did254167
更新时间:2023-09-13   阅读:28次

上一篇: php制作小偷程序 php制作小游戏

下一篇:php写入文件数组 php写入文件的函数

最新资料更新

  • 1.php如何生成动态页面 php动态网页制作教程
  • 2.jq读取php变量 php读取html内容
  • 3.php扩展的路径 php常用扩展有哪些
  • 4.php保存url数据 php获取url参数
  • 5.图片执行php代码 图片执行php代码是什么
  • 6.php大牛交流教程 php大神
  • 7.php移动gps定位 functionsphp位置
  • 8.php代理访问源码 php 代理
  • 9.php复杂语法 php基本语法
  • 10.php薪资1680 php一个月能挣多少钱
  • 11.php5.2cgi的简单介绍
  • 12.php蓝色的代码 html颜色代码
  • 13.php文字合到图片 php 图片合成
  • 14.php界面怎么设置 php界面设计
  • 15.php代码的缺点 php的缺点是什么
  • 16.php中套js代码 js中写php代码
  • 17.php有类似cmap 与php类似的语言
  • 18.phppngjpeg的简单介绍
  • 19.mk_dirphp mkdirphp
  • 20.php网页滚动代码 php 如何做滑动加载

CopyRight:2016-{hedonghua:year}{hedonghua:sitegs} 备案ICP:湘ICP备09009000号-16 {hedonghua:sitejym}
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2026 「好得很程序员自学网」
[ SiteMap ]