題目:產生0-9中的隨機數,要求0到9出現的機率依序遞減,
一般思路,把10個0,9個1,8個2.....2個8,1個9放到數組中,然後隨機生成數組下標,按下標取出數字.
二般思路:生成兩個0-9的隨機數,取小的那個,這個思路(手鏈魔咒提出)說實際的不知道是什麼原理,但是實驗證明,確實能達到效果.
驗證方法:
程式碼
function fun(){
function fun(){
/10以內的數字平均分配 $num2 = rand(0,9); ($num2 turn;}
function totalStr($haystack, $needle,$i = 0){//檢驗字符串中某個字元出現的次數
while(strpos($haystack,$needle) !== fneese) {
$haystack = substr($haystack, (strpos($haystack,$needle) + 1));
$i++;
$i++;
}
for ($i=0; $i
$str .= fun();
}
for ($i=0;$i
for ($i=0;$i
for ($i=0;$i
我"$i")."n"; //0-9出現的次數
}
?>
寫下這片後不久,手鏈魔咒有優化了演算法
具體見下:
程式碼
function getRand($min,$max) {
$num=rand($min,$max);
還有另一位高人寫的一個函數,數學思想比較強,不太好理解