fork download
  1. <!DOCTYPE html>
  2. <html lang="th">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>โปรแกรมสุ่มแบบกำหนดอัตราการออก</title>
  7. </head>
  8. <body>
  9. <h2>สุ่มรายการโดยกำหนดอัตรา</h2>
  10. <button onclick="randomSelect()">สุ่มเลย!</button>
  11. <p id="result"></p>
  12.  
  13. <script>
  14. function randomSelect() {
  15. let items = ["A", "B", "C", "D"];
  16. let weights = [0.1, 0.3, 0.5, 0.1]; // อัตราการออกของแต่ละตัวเลือก
  17.  
  18. // ฟังก์ชันสุ่มแบบกำหนดน้ำหนัก
  19. function weightedRandom(items, weights) {
  20. let sum = weights.reduce((a, b) => a + b, 0);
  21. let rand = Math.random() * sum;
  22. for (let i = 0; i < items.length; i++) {
  23. if (rand < weights[i]) return items[i];
  24. rand -= weights[i];
  25. }
  26. }
  27.  
  28. let result = weightedRandom(items, weights);
  29. document.getElementById("result").innerText = "ผลการสุ่ม: " + result;
  30. }
  31. </script>
  32. </body>
  33. </html>
Success #stdin #stdout 0.03s 25132KB
stdin
<!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>
stdout
<!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>