【php实现抽奖概率算法代码】教程文章相关的互联网学习教程文章

php实现快速排序法函数代码_PHP

代码1: 代码如下:function quicksort($str){ if(count($str)$key=$str[0];//取一个值,稍后用来比较; $left_arr=array(); $right_arr=array(); for($i=1;$iif($str[$i]$left_arr[]=$str[$i]; else $right_arr[]=$str[$i]; } $left_arr=quicksort($left_arr);//进行递归; $right_arr=quicksort($right_arr); return array_merge($left_arr,array($key),$right_arr);//将左中右的值合并成一个数组; }//以下是测试 $str=array(5,...

PHP的简易冒泡法代码分享_PHP

很基础的东西,感觉代码还不够简洁,希望高手指导修改 代码如下:function BubbleSort($str){ for($i=0;$ifor ($k=count($str)-2;$k>=$i;$k--){//将这个值向前冒泡; if($str[$k+1]$tmp=$str[$k+1]; $str[$k+1]=$str[$k]; $str[$k]=$tmp; } } } return $str; } //以下是测试 $str=array(5,8,2,6,10,0,3,12,11); print_r(BubbleSort($str)); ?> php 冒泡排序2 基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即...

php全排列递归算法代码_PHP

算法原理如果用P表示n个元素的全排列,而Pi表示n个元素中不包含元素i的全排列,(i)Pi表示在排列Pi前面加上前缀i的排列,那么n个元素的全排列可递归定义为: ① 如果n=1,则排列P只有一个元素i; ② 如果n>1,则全排列P由排列(i)Pi构成;根据定义,可以看出如果已经生成(k-1)个元素的排列Pi,那么k个元素的排列可以在每个Pi前面加上元素i而生成。代码实现 代码如下:function rank($base, $temp=null){ $len = strlen($ba...

PHP插入排序实现代码_PHP

算法描述: ⒈ 从第一个元素开始,该元素可以认为已经被排序⒉ 取出下一个元素,在已经排序的元素序列中从后向前扫描⒊ 如果该元素(已排序)大于新元素,将该元素移到下一位置⒋ 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置⒌ 将新元素插入到下一位置中⒍ 重复步骤2 代码如下:$arr =array(123,0,5,-1,4,15);function insertSort(&$arr){//先默认第一个下标为0的数是排好的数 for($i=1;$i //确定插...

一组PHP可逆加密解密算法实例代码_PHP

对于大部分密码加密,我们可以采用md5、sha1等方法。可以有效防止数据泄露,但是这些方法仅适用于无需还原的数据加密。 对于需要还原的信息,则需要采用可逆的加密解密算法。 下面一组PHP函数是实现此加密解密的方法: 加密算法如下: 代码如下:function encrypt($data, $key){ $key = md5($key); $x = 0; $len = strlen($data); $l = strlen($key); for ($i = 0; $i < $len; $i++) { if ($x == $l) ...

PHP中对各种加密算法、Hash算法的速度测试对比代码_PHP

PHP 的Hash算法是比较常用的,现在的MD5有时候不太安全,就得用到Hash_algos()中的其它算法,下面进行了一个性能的比较。 php代码: define(testtime, 50000); $algos = hash_algos(); foreach($algos as $algo) {$st = microtime();for($i = 0; $i < testtime; $i++) {hash($algo, microtime().$i);}$et = microtime();list($ss, $si) = explode( , $st);list($es, $ei) = explode( , $et);$time[$algo] = $ei + $es - $si - $ss;...

PHPHash算法:Times33算法代码实例_PHP

最近看书,里面提到了一些Hash算法。比较有印象的是Times33,当时理解不是很透测,今天写了段程序来验证了一下。 先上代码:代码如下: <?php /** * CRC32 Hash function * @param $str * @return int */ function hash32($str) { return crc32($str) >> 16 & 0x7FFFFFFF; } /** * Times33 Hash function * @param $str * @return int */ function hash33($str) { $hash = 0; for($i=0; $i<strlen($str); $i++) { $hash += 33 ...

PHP抽奖算法程序代码分享_PHP

抽奖算法需要满足的需求如下: 1.可以控制中奖的概率 2.具有随机性 3.最好可以控制奖品的数量 4.根据用户ID或者ip、手机号、QQ号等条件限制抽奖次数 初期就这些需求,然后根据网上的资料,采用了一种阶段式抽取的方法,大家下面看一下整体的程序: 该程序是在ThinkPHP框架下完成的,使用了一些框架自带的类库和函数,下面我会逐一进行说明,控制器部分: 代码如下<?php/*** ** @lanfengye <zibin_5257@163.com>*/ class ChoujiangA...

PHP实现的蚂蚁爬杆路径算法代码_PHP

本文实例讲述了PHP实现的蚂蚁爬杆路径算法代码。分享给大家供大家参考,具体如下:<?php /*** 有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。* 木杆很细,不能同时通过一只蚂蚁。开始 时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,* 但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。* 编写程序,求所有蚂蚁都离开...

基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法_PHP

大转盘中奖概率算法在我们的日常生活中,经常遇到,那么基于php代码是如何实现中奖概率算法的,下面通过一段代码实例给大家介绍php中奖概率算法,代码简单易懂,并且附有注释,具体代码如下所示:<?php /** 经典的概率算法,* $proArr是一个预先设置的数组,* 假设数组为:array(100,200,300,400),* 开始是从1,1000 这个概率范围内筛选第一个数是否在他的出现概率范围之内, * 如果不在,则将概率空间,也就是k的值减去刚刚的那个...

php读取30天之内的根据算法排序的代码_php技巧

代码如下:$link=mysql_connect("","","") or die("无法连接到mysql数据库".mysql_error()); mysql_select_db("duyounet",$link); mysql_query("SET NAMES 'gb2312'",$link); $day30=time()-60*60*24*30; $result=mysql_query("select articleid,articlename, (allvote*20+goodnum+allvisit) as dxy_px from jieqi_article_article where postdate>$day30 order by dxy_px desc limit 0,14") or die("查询".$database."数据库出错"....

PHP各种排序算法实现代码_php技巧

代码如下:// 功能: PHP实现各种排序算法 // Author: windlike // Datetime: 2007-06-09 // 冒泡排序 function BubbleSort($arr){ $num = count($arr); for($i=1;$ifor($j=$num-1;$j>=$i;$j--){ if($arr[$j]$iTemp = $arr[$j-1]; $arr[$j-1] = $arr[$j]; $arr[$j] = $iTemp; } } } return $arr; } // 交换法排序 function ExchangeSort($arr){ $num = count($arr); for($i=0;$ifor($j=$i+1;$jif($arr[$j]$iTemp = $arr[$i]; $arr[$i...

php3行代码的分页算法(求起始页和结束页)_php技巧

一个好的分页算法, 应该具有下面的优点: 当前页码应该尽量在正中间. 如果"首页"和"尾页"不可用(当前处于第一页或最后一页), 不要隐藏这两组文字, 以免链接按钮位置变动. 算法简单. 下面的算法具有前面1和3两个优点. 代码如下:// $curr_index, 当前页码. // $link_count, 链接数量. // $page_count, 当前的数据的总页数. // $start, 显示时的起始页码. // $end, 显示时的终止页码. $start = max(1, $curr_index - intval($link_cou...

php不用内置函数对数组排序的两个算法代码_php技巧

一朋友找工作遇到的试题,备注一下。 极有可能今后我也会遇到的。 问题:php不用内置函数对数组排序,可能是降序或者升序 第一种方法:传说中的冒泡法 代码如下:function arraysort($data, $order = asc) { //asc升序 desc降序 $temp = array (); $count = count ( $data ); if ($count <= 0) return false; //传入的数据不正确 if ($order == asc) { for($i = 0; $i < $count; $i ++) { for($j = $count - 1; $j > $i; $j --) { ...

PHP冒泡排序算法的实现代码_php技巧

代码如下:$arr = array(345,4,17,6,52,16,58,69,32,8,234); for($i=1;$i<count($arr);$i++){ for($j=count($arr)-1;$j>=$i;$j--){ if($arr[$j]<$arr[$j-1]){ $temp = $arr[$j-1]; $arr[$j-1] = $arr[$j]; $arr[$j] = $temp; } } } 基本概念 冒泡排序的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即首先比较第1 个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继...