美文网首页
PHP-抢红包算法

PHP-抢红包算法

作者: ResearchWorld | 来源:发表于2016-11-30 11:48 被阅读0次

看到很多人写,自己也写了个。
大概的主要思路:
比如一个红包20元5个人抢,最小单位为1元。
第一个人抢的范围必须是,1到20-(5-1)*1(因为后面的4个人要考虑到)

<?php
function create($money,$ncount){
    define('MIN_MONEY',0.01);
    $result = array();
    if($money >= $ncount*MIN_MONEY){
        $money *= 100;
        for($i=0; $i<$ncount; $i++){
            if($i === $ncount -1){
                array_push($result,$money);
            }else{
                array_push($result,rand(1,$money-($ncount-$i-1)));    
            }
            
            $money -= $result[$i];
            $result[$i] /= 100;
        }
        shuffle($result);
        return $result;
    }
    return false;
}

$result = create(20,8);
if($result!=false){
    print_r($result);
    echo "\n".'sum:'.array_sum($result);
}

相关文章

  • PHP-抢红包算法

    看到很多人写,自己也写了个。大概的主要思路:比如一个红包20元5个人抢,最小单位为1元。第一个人抢的范围必须是,1...

  • 尝试写一个抢红包算法

    抢红包算法看似简单,实际还是不简单啊!

  • 抢红包算法

    抢红包大家都知道,但发出一个固定金额的红包,由若干个人来抢,需要满足哪些规则? 所有人抢到金额之和等于红包金额,不...

  • 抢红包算法

    今天分享一篇有趣的抢红包算法,基本原理就是“二倍均值”,简单说,也就是一个公式,在这里,令P为人数,M为红包总金额...

  • Golang洗牌算法,抢红包算法

    本文为转载,原文:Golang洗牌算法,抢红包算法 1. 洗牌算法 洗牌算法,即将原来的顺序打乱,组成新的随机排序...

  • 抢红包算法@随机算法

    生成随机数 注:randomElement() 如果 range 是空,返回 nil 数组随机 洗牌算法 Swif...

  • 实现抢红包算法

    发出一个固定金额的红包,由若干人来抢,需要满足哪些规则? 1.所有人抢到金额之和等于红包金额,不能超过,也不能少于...

  • 红包

    抢红包抢红包抢红包抢红包抢红包抢红包抢红包抢红包抢红包抢红包抢红包抢红包抢红包抢红包抢红包抢红包抢红包抢红包抢红包...

  • 抢红包基本算法尝试

    在生活中,抢红包无处不在,既为我们带来金钱的流通,也为我们带来惊喜;但其背后的算法严密而复杂,既要保证公平,又要充...

  • 第3章 PHP变量

    PHP-什么是变量 变量是用于存储值的 PHP-如何定义变量 定义变量就是向服务器的内存(服务器的内存,我们可以当...

网友评论

      本文标题:PHP-抢红包算法

      本文链接:https://www.haomeiwen.com/subject/pgxtmttx.html