双色球给了几个红球和几个蓝球使用js生成所有可能的结果,给n个数,6个6个匹配生成所有结果并存储到文件种

使用nodejs爬取双色球历史开奖数据并写入文件过程

注意:我这里是新建的空项目运行的 js 文件,直接使用 node 运行 … 需在 js 文件的同级创建好对应的存储数据目录啊

由于不涉及什么请求,分析啊之类的,也不需要安装其它插件,直接用就行

const fs = require('fs')
const path = require('path')

let filePath = path.resolve('data/results.json') // 如果直接运行,需在同级目录创建 data 目录,可自行修改
let reds = [1, 3, 5, 7, 9, 10, 12, 13, 15]
let blues = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
let num = 0
let tmpResult = []
let result = {}
// reds 中 6*6 组合 求一共有多少中组合,使用程序实现
let redsLen = reds.length
for (let r1 = 0; r1 < redsLen; r1++) {  // 第一个数字
    for (let r2 = 1; r2 < redsLen; r2++) {  // 第二个数字
        for (let r3 = 2; r3 < redsLen; r3++) {  // 第三个数字
            for (let r4 = 3; r4 < redsLen; r4++) {  // 第四个数字
                for (let r5 = 4; r5 < redsLen; r5++) {  // 第五个数字
                    for (let r6 = 5; r6 < redsLen; r6++) {  // 第六个数字
                        if (r1 < r2 && r1 < r3 && r1 < r4 && r1 < r5 && r1 < r6 && r2 < r3 && r2 < r4 && r2 < r5 && r2 < r6 && r3 < r4 && r3 < r5 && r3 < r6 && r4 < r5 && r4 < r6 && r5 < r6 && r1 != r2 && r1 != r3 && r1 != r4 && r1 != r5 && r1 != r6 && r2 != r3 && r2 != r4 && r2 != r5 && r2 != r6 && r3 != r4 && r3 != r5 && r3 != r6 && r4 != r5 && r4 != r6 && r5 != r6) { //判断每个数从左到右,依小到大排列并且每个数不重复
                            let tmpArr = [r1, r2, r3, r4, r5, r6]
                            tmpResult.push(tmpArr)
                            // num++ // 不加蓝球的话,红球 6 6 组合有多少种
                        }
                    }
                }
            }
        }
    }
}

blues.forEach(blue => {
    tmpResult.forEach(res => {
        let tmpReds = res.map(el => {
            return fillZero(reds[el])
        }).sort((a, b) => a - b)
            .join(',')
        num++ // 加上蓝球, 6 6 组合共有多少种
        result[String(num)] = tmpReds + ' - ' + fillZero(blue)
    })
})

function fillZero(num) {
    if (num < 10) {
        return '0' + num
    } else {
        return String(num)
    }
}

console.log('一共有:' + num + ' 种结果')

fs.writeFileSync(filePath, JSON.stringify(result, null, '\t'))

可以放 package.json 的 scripts 里边运行:

  "scripts": {
    "res": "node ./src/factorial.js"
  }

在这里插入图片描述
也可以直接运行:
在这里插入图片描述
生成的结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值