SOURCE

console 命令行工具 X clear

                    
>
console
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>双色球智能预测器</title>
    <style>
        body { padding: 20px; font-family: Arial; max-width: 600px; margin: auto; }
        table { border-collapse: collapse; margin: 20px 0; width: 100%; }
        td, th { border: 1px solid #ddd; padding: 8px; text-align: center; }
        button { padding: 10px 20px; font-size: 16px; margin: 5px; }
        .red { color: red; font-weight: bold; }
        .blue { color: blue; font-weight: bold; }
        .mode-btn { background: #f0f0f0; border-radius: 5px; }
        .active { background: #007bff; color: white; }
    </style>
</head>
<body>
    <div>
        <button class="mode-btn active" onclick="switchMode('random')">纯随机模式</button>
        <button class="mode-btn" onclick="switchMode('predictive')">智能预测模式</button>
    </div>
    <button onclick="generateNumbers()">生成新号码</button>
    <div id="dataStatus"></div>
    
    <table id="result">
        <tr>
            <th>红球(历史高频)</th>
            <th>蓝球(历史高频)</th>
        </tr>
    </table>

<script>
// 历史高频数据(基于CSDN博客统计)[citation:1]
const frequencyData = {
    red: [
        '01','02','03','04','05','06','07','08','09','10',
        '12','14','15','17','19','20','22','24','25','27','28','33'
    ],
    blue: ['01','07','09','11','12','15','16']
};

let currentMode = 'random';

// 模式切换
function switchMode(mode) {
    currentMode = mode;
    document.querySelectorAll('.mode-btn').forEach(btn => 
        btn.classList.remove('active'));
    event.target.classList.add('active');
    generateNumbers();
}

// 智能加权算法
function getWeightedNumber(pool, isBlue = false) {
    const frequencyPool = isBlue ? frequencyData.blue : frequencyData.red;
    return Math.random() < 0.7 ?  // 70%概率选择高频号码
        frequencyPool[Math.floor(Math.random() * frequencyPool.length)] :
        String(Math.floor(Math.random() * (isBlue ? 16 : 33)) + 1).padStart(2, '0');
}

async function generateNumbers() {
    let redBalls = new Set();
    let blueBall;

    if(currentMode === 'predictive') {
        // 预测模式:基于历史高频+随机扰动[citation:1][citation:4][citation:6]
        while(redBalls.size < 6) {
            redBalls.add(getWeightedNumber(frequencyData.red));
        }
        blueBall = getWeightedNumber(frequencyData.blue, true);
    } else {
        // 纯随机模式[citation:2][citation:5]
        while(redBalls.size < 6) {
            redBalls.add(String(Math.floor(Math.random() * 33) + 1).padStart(2, '0'));
        }
        blueBall = String(Math.floor(Math.random() * 16) + 1).padStart(2, '0');
    }

    // 排序并格式化
    redBalls = Array.from(redBalls).sort((a,b) => a - b);

    // 显示结果
    const table = document.getElementById('result');
    while(table.rows.length > 1) table.deleteRow(1);
    
    const newRow = table.insertRow();
    const redCell = newRow.insertCell();
    const blueCell = newRow.insertCell();
    
    redCell.innerHTML = redBalls.map(n => `<span class="red">${n}</span>`).join(' ');
    blueCell.innerHTML = `<span class="blue">${blueBall}</span>`;

    // 尝试获取最新开奖数据(需处理跨域问题)
    try {
        const response = await fetch('https://api.example.com/latest-lottery'); // 需替换真实API
        const data = await response.json();
        document.getElementById('dataStatus').innerHTML = 
            `已加载最新期号:${data.issue}(${data.date})`;
    } catch (error) {
        document.getElementById('dataStatus').innerHTML = 
            '最新数据加载失败,使用本地历史数据(2025-03-05)[citation:8]';
    }
}

// 初始化生成
generateNumbers();
</script>
</body>
</html>