|
|
|
สุ่มเลข มาเเล้วให้มันมีโอกาศออก 20% ต้องเขียนยังไงหรอครับ |
|
|
|
|
|
|
|
คือ 15,30,88 ออก 20% หมายความว่า
15 = 20%
30 = 20%
88 = 20%
อื่นๆ = 40%
รวม 100%
หรือว่า
15 หรือ 30 หรือ 88 = 20%
อื่นๆ 80%
รวม 100%
ครับ?
|
|
|
|
|
Date :
2013-08-09 16:13:42 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถามต่อครับ แล้วจะพิสูจน์ยังไงว่ามันออกมา 20% จริงๆ จากเคสข้างตั้นที่เป็นเลขซ้ำกันได้ด้วย
แฮะๆผมทำแบบดื้อๆ รอผู้มีความสามารถมาต่อครับ
ได้ $ex มา ในที่นี้ 1-100 มีโอกาส1ใน99 ผมก็เอาตัวแปรไปเชคต่อ แบบดื้อๆอ่าครับ
ผมสุ่มเลข 1-3 มาก่อนว่าจะเข้าเคสไหน แล้วในแต่ละเคสก็ เอา$ex มาดูอีกที ทำซัก19รอบ ในแต่ละการเชค$chk ก็ประมาณได้ว่าเป็น 20%
ทำให้ครบเหมือนๆกัน ทั้งสามแบบ
ทีนี้ก็ประมาณได้ว่า เลขทั้งสามตัว จะมีโอากาส ออกมา20% เท่าๆกันครับ
ยังไงคุณอาจจะคิดได้ดีกว่าผม ลองดูก่อนครับ
Code (PHP)
$ex = rand(1,100);
$chk= rand(0,3);
if ($chk=0){
$ex =$ex;
}
if ($chk=1){
$ex ="";
if ($ex=3) { $ex = 15; }
if ($ex=46) { $ex = 15; }
}
if ($chk=1){
$ex ="";
if ($ex=3) { $ex = 30; }
if ($ex=46) { $ex = 30; }
}
if ($chk=3){
$ex ="";
if ($ex=3) { $ex = 88; }
if ($ex=46) { $ex = 8; }
}
|
ประวัติการแก้ไข 2013-08-09 16:32:00
|
|
|
|
Date :
2013-08-09 16:30:12 |
By :
tonmasterbp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@แมวของคุกกี้
มีโอกาศออก 20%
15 = 20%
30 = 20%
88 = 20%
อื่นๆ = 40%
รวม 100%
ผมไม่รู้เขียนยังไงเลยมาถามที่นี่ดูเพื่อจะมีคนรู้
|
ประวัติการแก้ไข 2013-08-09 16:42:24 2013-08-09 16:42:59
|
|
|
|
Date :
2013-08-09 16:41:20 |
By :
aibot |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาง่ายๆ ครับ ถ้าอยากได้ 20% แรก สุ่มเลข 5 ตัวครับ แล้วถ้าได้เลขที่ต้องการให้เป็น 20% มันก็คือ 20%
Code (PHP)
<?php
// เลขทั้งหมด 1 - 100
$list_100_percent = range(1, 100);
// เลขที่จะให้เป็น 20%
$list_20_percent = array(15, 30, 88);
// เลขที่จะให้เป็น 80% หาได้ด้วยฟังก์ชั่น array_diff()
$list_80_percent = array_diff($list_100_percent, $list_20_percent);
if (mt_rand(1, 5) === 1) {
// โดน 20% (1 ใน 5)
$rand = $list_20_percent[mt_rand(0, count($list_20_percent) - 1)];
echo "$rand = 20%";
} else {
// นอกนั้น
$rand = $list_80_percent[mt_rand(0, count($list_80_percent) - 1)];
echo "$rand = 80%";
}
|
|
|
|
|
Date :
2013-08-09 16:45:55 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|