[Linux C]双色球计算程序

本文介绍了作者在程序员部门中,针对连号彩票现象,使用C语言在Linux环境下编写的一个双色球随机号码计算程序。程序虽然能运行,但在老旧设备上可能表现不佳,期待优化建议。
摘要由CSDN通过智能技术生成

开年会部门每人派发一张双色球彩票,算是年会的小礼品。

拿到手一看每张都连号连得很厉害,基本上都像这样1、2、3、4、5、8,10...购买彩票的人也太懒了吧,机选也好呀,手填还填成这样。

在一个满是程序员的部门里这种情况实在太让人感到无语了,于是本人自己突发奇想写了一个Linux环境下的C语言双色球的随机算号程序...随便玩玩。


/* 备注:恭喜发财!中大奖!

规则:
1. 6个红色球号码 + 1个蓝色球号码
2. 红色球号码范围 :1-33
   蓝色球号码范围:1-16
3. 红色球号码不会重复

算法:
1. 红球三连号或以上的概率极小,可以考虑剔除。例如:23、24、25等等...
2. 所有红球均在同一区段的概率极小,亦可考虑剔除。(暂不处理)
	红球的号码可分为三个区段:
	区段一:1-11
	区段二:12-22
	区段三:23-33
*/

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>

#define MAX_SUCCESSIVE	3

#define RED_BALL_QUANTITY	6
#define BLUE_BALL_QUANTITY	1

#define RED_BALL_MAX	33
#define BLUE_BALL_MAX	16

#define INT_ARRAY_SIZE(array) (sizeof(array) / sizeof(int))

#define DEBUG 0

#define DEBUG_MSG(m) do{\
	if(DEBUG)			\
		printf(m);		\
}while(0)


typedef struct Str_DoubleBall_Group{
	int RedBall_IdGroup[RED_BALL_QUANTITY];
	int BlueBall_Id;
}Str_DoubleBall_Group;

#if 0
typedef struct Str_DoubleBall_Linklist{
	struct Str_DoubleBall_Group Str_DBG;
	struct Str_DoubleBall_Linklist *p_prev;
	struct Str_DoubleBall_Linklist *p_next;	
}Str_DoubleBall_Linklist;
#endif

/**** 函数声明 ****/

static inline void Print_Int_Array(int *P_array,int 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
双色球算法-昵称-12-1建立文件+读取文件v0.02_20190924_1235.7z 算法升级,界面美化版本。(显示的字体变大更加容易读取) 使用方式: 在D盘建立一个文本文件名为:shuangseqiu.txt 讲双色球红球的号码以逗号分隔放到里面,比如:(可以放入多注,不要放蓝球) 4,12,14,21,27,29 1,5,16,17,18,24 2,13,15,17,26,33 算法一:双色球杀号码 差 方法一:利用上期开奖红球号码每两个号码相减的绝对值作为下一期开奖号码杀号的选择。例如04061期开奖号码13、16、19、20、23、33,每两个号码相减的绝对值为16-13、19-13、20-13等共有15个差值,其中有相同的差值,那么04062期的杀号选择为01、03、04、06、07、10、13、14、17、20,实际杀错了一个红球01。此方法杀错号码个数一般在0-2个,但也有例外,04059期杀错6个,所以此方法要灵活运用。 算法二:双色球杀号码 和 算法三:双色球杀号码 乘积/商 乘除法 https://wenku.baidu.com/view/1dfc5612f18583d0496459cb.html?sxts=1565623827084 末尾两数相乘(相除):(乘取得数最后一位杀尾,除取三位数最后一位) 128期 开奖号 04 15 21 30 31 33 33*31=1023 129期杀3尾 129期杀3 13 23 33 对 33/31=1.06 6 6 16 26 对 https://wenku.baidu.com/view/ddf6abee856a561252d36fdd.html?sxts=1565623520317 双色球红球杀号技巧(实践经验,准确率高达90%) 末尾两数相乘(相除):(乘取得数最后一位杀尾,除取三位数最后一位) 128期 开奖号 04 15 21 30 31 33 33*31=1023 129期杀3尾 129期杀3 13 23 33?对 33/31=1.06 6 6 16 26 对 算法四:双色球选号码 乘积/商 乘除法 所谓计算法是指根据本期开奖号码,通过加减计算预测下期开奖号码的一种较为实用。 直观的选号方法。具体来说,运用计算法步聚如下: 一、将本期开奖的六个红号加起来得到一个总和。 二、让总和减去每一位开奖红号分别得到一个差数。 三、让这个差数除以每一个开奖号码,分别得到一个得数和余数。 四、舍弃余数,只考虑得数,让这个得数作参考,可选择出下期的开奖号码。 例如:“双色球”第60期开奖号码为“02、04、06、17、21、28”6个红号相加总和为78。计算方法如下 : (78-2)÷2=38……0, 下期奖号可能出现08、18或28。 (78-4)÷4=18……2, 下期奖号可能出现08、18或28。 (78-6)÷6=12……0, 下期奖号可能出现02、12、22或32。 (78-17)÷17=3……10,下期奖号可能出现03、13、23或33。 (78-21)÷21=2……15,下期奖号可能出现02、12、22或32。 (78-28)÷28=1……22,下期奖号可能同现01、11、21或31。 其中有两式得数均出现8, 必然有8尾数号开出。以上共选出08、18、28、02、12、22、32、03、13、23、33、01、11、21、31共计15个号。 01、02、03、08、11、12、13、18、21、22、23、28、31、32、33
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值