Перейти к основному содержимому
clawam tools
Инструменты Документы Daoark EN Главная Главная / Развлечения и мистика › Главная manifest.json best.rank || (r.rank === best.rank && r.score > best.score)) best = r; } return best; } // 5 张枚举 function enumerate5() { var stats = { 0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0 }; var total = 0; for (var a = 0; a < 48; a++) for (var b = a + 1; b < 49; b++) for (var c = b + 1; c < 50; c++) for (var d = c + 1; d < 51; d++) for (var e = d + 1; e < 52; e++) { var r = rank5([a, b, c, d, e]); stats[r.rank]++; total++; } return { stats: stats, total: total }; } // 7 张枚举(慢) function enumerate7() { var stats = { 0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0, 8: 0, 9: 0 }; var total = 0; var all = []; for (var i = 0; i < 52; i++) all.push(i); function gen(arr, n, start, path) { if (n === 0) { var r = bestOf7(path); stats[r.rank]++; total++; return; } for (var i = start; i <= arr.length - n; i++) { path.push(arr[i]); gen(arr, n - 1, i + 1, path); path.pop(); } } gen(all, 7, 0, []); return { stats: stats, total: total }; } function doProcess() { try { var mode = getVal('mode'); var out = ''; if (mode === '5card') { var r = enumerate5(); out = '5 张牌: 共 ' + r.total.toLocaleString() + ' 种组合\n\n'; for (var k = 9; k >= 0; k--) { var pct = r.stats[k] / r.total * 100; out += rankName(k) + ': ' + r.stats[k].toLocaleString() + ' (' + pct.toFixed(4) + '%)\n'; } showResult(out, '5 张枚举, 2,598,960 种'); } else if (mode === '7card') { var r = enumerate7(); out = '7 张选 5(德州): 共 ' + r.total.toLocaleString() + ' 种组合\n\n'; for (var k = 9; k >= 0; k--) { var pct = r.stats[k] / r.total * 100; out += rankName(k) + ': ' + r.stats[k].toLocaleString() + ' (' + pct.toFixed(4) + '%)\n'; } showResult(out, '7 张枚举, 133,784,560 种'); } else { // overview var r5 = enumerate5(); out = '=== 5 张牌 ===\n'; for (var k = 9; k >= 0; k--) { out += rankName(k) + ': ' + (r5.stats[k] / r5.total * 100).toFixed(4) + '%\n'; } showResult(out, '5 张枚举'); } } catch (e) { showError('计算失败: ' + (e.message || e)); } } $('btn-main').addEventListener('click', function(e) { e.preventDefault(); doProcess(); }); $('btn-clear').addEventListener('click', function() { var inputs = document.querySelectorAll('input,textarea,select'); for (var i = 0; i < inputs.length; i++) { if (inputs[i].tagName === 'SELECT') inputs[i].selectedIndex = 0; else inputs[i].value = inputs[i].defaultValue; } var ra = $('result-area'); ra.hidden = true; ra.style.display = 'none'; var em = $('error-msg'); em.hidden = true; em.style.display = 'none'; }); })();