IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> PHP指定人数随机平均分配指定金额(伸缩法) -> 正文阅读

[PHP知识库]PHP指定人数随机平均分配指定金额(伸缩法)

/**将一个数分成指定份数
 * @param $money_total
 * @param $num
 * @return array
 */
function cuttingNumber($money_total,$num){

    //随机生产$num个随机数
    $randArr = [];
    for ($i = 0;$i<$num;$i++){
        array_push($randArr,rand(100,200));
    }
    $randArrSum = array_sum($randArr);
    $n = $randArrSum/100;
        for ($i = 0;$i<count($randArr);$i++){
            $randArr[$i] = bcdiv($randArr[$i],$n,2);
        }
    $randArrSum = array_sum($randArr);
    if($randArrSum>100){
        $m = $randArrSum-100;
        //给最大一个值减去$m
        rsort($randArr);
        $randArr[0]-=$m;
    }else{
        $m = 100-$randArrSum;
        //给最小一个值加上$m
        sort($randArr);
        $randArr[0]+=$m;
    }
    $result = [];
    for($i=0;$i<$num;$i++){
        array_push($result,bcmul(bcdiv($randArr[$i],100,2),$money_total,2));
    }
    $resultSum = array_sum($result);
    if($resultSum>$money_total){
        $m = $resultSum-$money_total;
        //给最大一个值减去$m
        rsort($result);
        $result[0]-=$m;
    }else{
        $m = $money_total-$resultSum;
        //给最小一个值加上$m
        sort($result);
        $result[0]+=$m;
    }
    shuffle($result);
    return $result;
}

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-03-03 15:48:22  更:2022-03-03 15:49:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:35:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码