PHP 算法逻辑
记录变成算法等逻辑文档
天下皆白_唯我独黑
爱我所爱,恨我所恨,墨眉无锋,似剑非攻。
展开
-
红包平均浮动分配算法
/** * 根据平均值上下浮动比例计算每个人的值 * @param int $total 总金额 * @param int $num 人数 * @param float $proportion 浮动比例 * @return array */function generate_unique_rand($total = 1000, $num = 100, $proportion = 0.1){ $each = intval($total / $num); //每个人的平均值 .原创 2021-01-07 18:10:59 · 469 阅读 · 1 评论 -
生成随机数并按比例分配区间
根据划分比例生成随机数。如想生成10个 1到100直接的随机数,并且平均分配在 1-50 51-100直间 个5个随机数,下边的例子仍有瑕疵可继续改进。/** * 生成抽奖随机数组 * @param int $num 生成的数量 * @param int $min 最小值 * @param int $max 最大值 * @param int $piecewise 分段参数 数据会根据此值划分区间 * @return array|nul..原创 2020-11-08 11:21:38 · 1259 阅读 · 0 评论 -
PHP 算法实现之九九乘法表
<?phpfor($i=1;$i<=9;$i++){ for($y=1;$y<=$i;$y++){ echo $y.'*'.$i.'='.$i*$y." "; } echo "\n";}打印结果:原创 2020-04-16 16:28:24 · 374 阅读 · 0 评论 -
PHP 算法之斐波那契数列算法 计算出生兔子的数量
《斐波那契数列算法》题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?分析:一对兔子也就是两只,第三个月都生一对兔子,那么我们按第三个月开始增量而不是第三个月后开始增量。月份 1月 2月 3月 4月 5月 6月....... 数量 2 2...原创 2020-04-16 15:53:48 · 588 阅读 · 0 评论 -
PHP 1000只狗,从第一头起算,求最后活着的狗 代码实现
1.如果题目是1000只狗,从第一头起算,每隔一头杀一头(数到底后从第一头重新开始算),最后只留一只是活的,请问这是第几只狗?2.写入一个数组,不管值是多少,按数组下标进行排除,答案:512<?phpheader("Content-Type: text/html; charset=utf-8");//1000只狗,从第一头起算,每隔一头杀一头(数到底后从第一头重新开始算),最...原创 2018-11-19 11:22:47 · 1693 阅读 · 0 评论 -
PHP 用一个for求出1+22+333+4444+……+999999999
1.str_pad() 函数把字符串填充为新的长度。<?phpheader("Content-Type: text/html; charset=utf-8");//循环求出1+22+333+4444+……+999999999$c;for($i = 1; $i<=9; $i++){ $c += str_pad($i, $i, $i);}echo $c;?&g...转载 2018-11-16 14:04:27 · 4359 阅读 · 0 评论 -
PHP 剪刀石头布代码简单实现
1.使用argv接收参数2.使用剪刀石头布的下标作为判断单位<?phpheader("Content-Type: text/html; charset=utf-8");$value = $argv;$a = ['剪刀','石头','布'];//随机取出一个下标$b = array_rand($a); $c = $a[$b];//接收传输的值获取下标$val_a...原创 2018-11-16 11:36:10 · 3342 阅读 · 0 评论 -
PHP 打印九宫格逻辑方法
function index(){ for($b=1; $b<=9; $b++){ for($e=1; $e<=9; $e++){ for($h=1; $h<=9; $h++){ if($b+$e+$h=='15' && $b!=$e && $h!=$e){...转载 2018-04-08 15:31:14 · 985 阅读 · 0 评论