<!DOCTYPE html>
<html lang="th">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>โปรแกรมสุ่มแบบกำหนดอัตราการออก</title>
</head>
<body>
<h2>สุ่มรายการโดยกำหนดอัตรา</h2>
<button onclick="randomSelect()">สุ่มเลย!</button>
<p id="result"></p>
<script>
function randomSelect() {
let items = ["A", "B", "C", "D"];
let weights = [0.1, 0.3, 0.5, 0.1]; // อัตราการออกของแต่ละตัวเลือก
// ฟังก์ชันสุ่มแบบกำหนดน้ำหนัก
function weightedRandom(items, weights) {
let sum = weights.reduce((a, b) => a + b, 0);
let
rand = Math
.random
() * sum
; for (let i = 0; i < items.length; i++) {
if (rand < weights
[i
]) return items
[i
]; }
}
let result = weightedRandom(items, weights);
document.getElementById("result").innerText = "ผลการสุ่ม: " + result;
}
</script>
</body>
</html>
PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9InRoIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCI+CiAgICA8dGl0bGU+4LmC4Lib4Lij4LmB4LiB4Lij4Lih4Liq4Li44LmI4Lih4LmB4Lia4Lia4LiB4Liz4Lir4LiZ4LiU4Lit4Lix4LiV4Lij4Liy4LiB4Liy4Lij4Lit4Lit4LiBPC90aXRsZT4KPC9oZWFkPgo8Ym9keT4KICAgIDxoMj7guKrguLjguYjguKHguKPguLLguKLguIHguLLguKPguYLguJTguKLguIHguLPguKvguJnguJTguK3guLHguJXguKPguLI8L2gyPgogICAgPGJ1dHRvbiBvbmNsaWNrPSJyYW5kb21TZWxlY3QoKSI+4Liq4Li44LmI4Lih4LmA4Lil4LiiITwvYnV0dG9uPgogICAgPHAgaWQ9InJlc3VsdCI+PC9wPgoKICAgIDxzY3JpcHQ+CiAgICAgICAgZnVuY3Rpb24gcmFuZG9tU2VsZWN0KCkgewogICAgICAgICAgICBsZXQgaXRlbXMgPSBbIkEiLCAiQiIsICJDIiwgIkQiXTsKICAgICAgICAgICAgbGV0IHdlaWdodHMgPSBbMC4xLCAwLjMsIDAuNSwgMC4xXTsgLy8g4Lit4Lix4LiV4Lij4Liy4LiB4Liy4Lij4Lit4Lit4LiB4LiC4Lit4LiH4LmB4LiV4LmI4Lil4Liw4LiV4Lix4Lin4LmA4Lil4Li34Lit4LiBCgogICAgICAgICAgICAvLyDguJ/guLHguIfguIHguYzguIrguLHguJnguKrguLjguYjguKHguYHguJrguJrguIHguLPguKvguJnguJTguJnguYnguLPguKvguJnguLHguIEKICAgICAgICAgICAgZnVuY3Rpb24gd2VpZ2h0ZWRSYW5kb20oaXRlbXMsIHdlaWdodHMpIHsKICAgICAgICAgICAgICAgIGxldCBzdW0gPSB3ZWlnaHRzLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApOwogICAgICAgICAgICAgICAgbGV0IHJhbmQgPSBNYXRoLnJhbmRvbSgpICogc3VtOwogICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgICAgIGlmIChyYW5kIDwgd2VpZ2h0c1tpXSkgcmV0dXJuIGl0ZW1zW2ldOwogICAgICAgICAgICAgICAgICAgIHJhbmQgLT0gd2VpZ2h0c1tpXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHdlaWdodGVkUmFuZG9tKGl0ZW1zLCB3ZWlnaHRzKTsKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVyVGV4dCA9ICLguJzguKXguIHguLLguKPguKrguLjguYjguKE6ICIgKyByZXN1bHQ7CiAgICAgICAgfQogICAgPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPg==
Jmx0OyFET0NUWVBFIGh0bWwmZ3Q7CiZsdDtodG1sIGxhbmc9JnF1b3Q7dGgmcXVvdDsmZ3Q7CiZsdDtoZWFkJmd0OwogICAgJmx0O21ldGEgY2hhcnNldD0mcXVvdDtVVEYtOCZxdW90OyZndDsKICAgICZsdDttZXRhIG5hbWU9JnF1b3Q7dmlld3BvcnQmcXVvdDsgY29udGVudD0mcXVvdDt3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wJnF1b3Q7Jmd0OwogICAgJmx0O3RpdGxlJmd0O+C5guC4m+C4o+C5geC4geC4o+C4oeC4quC4uOC5iOC4oeC5geC4muC4muC4geC4s+C4q+C4meC4lOC4reC4seC4leC4o+C4suC4geC4suC4o+C4reC4reC4gSZsdDsvdGl0bGUmZ3Q7CiZsdDsvaGVhZCZndDsKJmx0O2JvZHkmZ3Q7CiAgICAmbHQ7aDImZ3Q74Liq4Li44LmI4Lih4Lij4Liy4Lii4LiB4Liy4Lij4LmC4LiU4Lii4LiB4Liz4Lir4LiZ4LiU4Lit4Lix4LiV4Lij4LiyJmx0Oy9oMiZndDsKICAgICZsdDtidXR0b24gb25jbGljaz0mcXVvdDtyYW5kb21TZWxlY3QoKSZxdW90OyZndDvguKrguLjguYjguKHguYDguKXguKIhJmx0Oy9idXR0b24mZ3Q7CiAgICAmbHQ7cCBpZD0mcXVvdDtyZXN1bHQmcXVvdDsmZ3Q7Jmx0Oy9wJmd0OwoKICAgICZsdDtzY3JpcHQmZ3Q7CiAgICAgICAgZnVuY3Rpb24gcmFuZG9tU2VsZWN0KCkgewogICAgICAgICAgICBsZXQgaXRlbXMgPSBbJnF1b3Q7QSZxdW90OywgJnF1b3Q7QiZxdW90OywgJnF1b3Q7QyZxdW90OywgJnF1b3Q7RCZxdW90O107CiAgICAgICAgICAgIGxldCB3ZWlnaHRzID0gWzAuMSwgMC4zLCAwLjUsIDAuMV07IC8vIOC4reC4seC4leC4o+C4suC4geC4suC4o+C4reC4reC4geC4guC4reC4h+C5geC4leC5iOC4peC4sOC4leC4seC4p+C5gOC4peC4t+C4reC4gQoKICAgICAgICAgICAgLy8g4Lif4Lix4LiH4LiB4LmM4LiK4Lix4LiZ4Liq4Li44LmI4Lih4LmB4Lia4Lia4LiB4Liz4Lir4LiZ4LiU4LiZ4LmJ4Liz4Lir4LiZ4Lix4LiBCiAgICAgICAgICAgIGZ1bmN0aW9uIHdlaWdodGVkUmFuZG9tKGl0ZW1zLCB3ZWlnaHRzKSB7CiAgICAgICAgICAgICAgICBsZXQgc3VtID0gd2VpZ2h0cy5yZWR1Y2UoKGEsIGIpID0mZ3Q7IGEgKyBiLCAwKTsKICAgICAgICAgICAgICAgIGxldCByYW5kID0gTWF0aC5yYW5kb20oKSAqIHN1bTsKICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpICZsdDsgaXRlbXMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICBpZiAocmFuZCAmbHQ7IHdlaWdodHNbaV0pIHJldHVybiBpdGVtc1tpXTsKICAgICAgICAgICAgICAgICAgICByYW5kIC09IHdlaWdodHNbaV07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGxldCByZXN1bHQgPSB3ZWlnaHRlZFJhbmRvbShpdGVtcywgd2VpZ2h0cyk7CiAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCZxdW90O3Jlc3VsdCZxdW90OykuaW5uZXJUZXh0ID0gJnF1b3Q74Lic4Lil4LiB4Liy4Lij4Liq4Li44LmI4LihOiAmcXVvdDsgKyByZXN1bHQ7CiAgICAgICAgfQogICAgJmx0Oy9zY3JpcHQmZ3Q7CiZsdDsvYm9keSZndDsKJmx0Oy9odG1sJmd0Ow==
<!DOCTYPE html>
<html lang="th">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>โปรแกรมสุ่มแบบกำหนดอัตราการออก</title>
</head>
<body>
<h2>สุ่มรายการโดยกำหนดอัตรา</h2>
<button onclick="randomSelect()">สุ่มเลย!</button>
<p id="result"></p>
<script>
function randomSelect() {
let items = ["A", "B", "C", "D"];
let weights = [0.1, 0.3, 0.5, 0.1]; // อัตราการออกของแต่ละตัวเลือก
// ฟังก์ชันสุ่มแบบกำหนดน้ำหนัก
function weightedRandom(items, weights) {
let sum = weights.reduce((a, b) => a + b, 0);
let rand = Math.random() * sum;
for (let i = 0; i < items.length; i++) {
if (rand < weights[i]) return items[i];
rand -= weights[i];
}
}
let result = weightedRandom(items, weights);
document.getElementById("result").innerText = "ผลการสุ่ม: " + result;
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="th">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>โปรแกรมสุ่มแบบกำหนดอัตราการออก</title>
</head>
<body>
<h2>สุ่มรายการโดยกำหนดอัตรา</h2>
<button onclick="randomSelect()">สุ่มเลย!</button>
<p id="result"></p>
<script>
function randomSelect() {
let items = ["A", "B", "C", "D"];
let weights = [0.1, 0.3, 0.5, 0.1]; // อัตราการออกของแต่ละตัวเลือก
// ฟังก์ชันสุ่มแบบกำหนดน้ำหนัก
function weightedRandom(items, weights) {
let sum = weights.reduce((a, b) => a + b, 0);
let rand = Math.random() * sum;
for (let i = 0; i < items.length; i++) {
if (rand < weights[i]) return items[i];
rand -= weights[i];
}
}
let result = weightedRandom(items, weights);
document.getElementById("result").innerText = "ผลการสุ่ม: " + result;
}
</script>
</body>
</html>