楼主 duy3 | 发表于2018-01-11 23:19:50
自编双色球缩水程序(C语言)
以下是本人自编自用的双色球缩水程序,四年多来本人最多一次中过3000(离500W就一个数,28与29的差别),中过十几次200。儿子杨朗死后就再也没有用过该程序。现将其公布在天涯,以感谢天涯对本人的支持。
编程的思路是以前面的30期为数据统计依据,计算下一期要出的号码。懂C的朋友如有不解之处,可给本人发短信,共同探讨。
main()
{
int i, j, k, l, m, n, o, p,s,t,X;
int w,R, d[6], f[6],c[33], e[33], N1,N2,N3,N4,N5,N6;
int S=0, Z;
int CS[13];
int LH[13];
int a[30][6]={{5,7,10,14,17,25},
{5,8,10,15,23,26},{3,7,13,23,27,30},{7,13,17,26,32,33},
{10,11,13,16,19,30},{10,19,20,21,23,32},{2,5,11,26,30,32},
{1,2,14,23,28,29},{8,12,20,22,30,33},{2,15,19,24,31,32},
{4,10,16,23,28,30},{6,11,18,20,25,30},{3,5,12,18,21,23},
{1,2,9,10,21,31},{4,5,23,26,31,32},{1,3,12,20,21,29},
{9,16,17,18,22,27},{5,10,16,19,23,28},{1,13,15,17,20,30},
{9,18,19,25,28,31},{1,9,14,16,28,32},{5,7,12,14,15,20},
{2,9,16,21,30,31},{1,11,13,25,32,33},{4,5,6,25,29,30},
{11,15,18,21,27,29},{2,8,12,18,24,28},{4,9,11,20,32,33},
{4,8,12,17,20,30},{11,12,13,18,23,32}};
int b[5][6]={{11,15,18,21,27,29},{2,8,12,18,24,28},
{4,9,11,20,32,33},{4,8,12,17,20,30},{11,12,13,18,23,32}};
for(k=0;k<=32;k++)
for(i=0;i<=29;i++)
for(j=0;j<=5;j++)
if(a[j]==k+1) c[k]=c[k]+1;
for(k=0;k<=32;k++)
for(i=0;i<=4;i++)
for(j=0;j<=5;j++)
if(b[j]==k+1) e[k]=e[k]+1;
for(i=0;i<=16;i++)
{
d[0]=c;f[0]=e;N1=i+1;
for(j=1;j<=19;j++)
{ d[1]=c[j];f[1]=e[j];N2=j+1;
for(k=3;k<=24;k++)
{d[2]=c[k];f[2]=e[k];N3=k+1;
for(l=4;l<=29;l++)
{d[3]=c[l];f[3]=e[l];N4=l+1;
for(m=10;m<=31;m++)
{d[4]=c[m];f[4]=e[m];N5=m+1;
for(n=15;n<=32;n++)
{d[5]=c[n];f[5]=e[n];N6=n+1;
R=0;Z=0;X=0;
for(o=0;o<=12;o++) {CS[o]=0;LH[o]=0;}
Z=N1+N2+N3+N4+N5+N6;
R=d[0]+d[1]+d[2]+d[3]+d[4]+d[5];
X=f[0]+f[1]+f[2]+f[3]+f[4]+f[5];
for(o=0;o<=12;o++)
for(p=0;p<=5;p++)
{if(d[p]==o) CS[o]=CS[o]+1;
if(f[p]==o) LH[o]=LH[o]+1;}
if((R==25||R==27||R==33)&&N1 (Z==88||Z==94||Z==100||Z==66)&&(X==5||X==7)&&
(N1==1||N1==3||N1==5||N1==6)&&
(N6==22||N6==24||N6==26||N6==27||N6==28||Z==31)&&
(N2<11))
{if((CS[2]+CS[4])>=1&&CS[7]==0&&CS[8]>=1&&CS[9]<=1&&CS[2]<=2&&CS[6]>=1&&CS[5]<=2&&CS[6]<=3&&CS[4]<=1&&(CS[2]>=2||CS[5]==2||CS[6]>=2)&&
LH[0]>=2&&LH[0]<=3&&LH[1]>=1&&LH[1]<=2&&(LH[2]+CS[3])>=1)
{
printf("%d %d %d %d %d %d ", N1, N2, N3, N4, N5, N6);
printf(" ");
printf("%d ",Z);
printf("%d ",R);
printf("%d%d%d%d%d%d ",d[0],d[1],d[2],d[3],d[4],d[5]);
printf("%d%d%d%d%d%d ",f[0],f[1],f[2],f[3],f[4],f[5]);
printf(" ");S++; }
}
}
}
}
}
}
}
printf("S=%d ",S);
}
13楼 duy3 | 发表于2018-01-23 14:22:12
本帖最后由 duy3 于 2018-1-23 14:27 编辑
Private Sub CommandButton1_Click()
Dim arrSrc, brrSrc
Dim c(33),e(33),d(33),f(33),CS(13),LH(13)
Dim N1,N2,N3,N4,N5,N6
Dim k As Long, i As Long, j As Long, l As Long, m As Long, n As Long, o As Long, p As Long
Dim R As Long,Z As Long,X As Long,S As Long
S=0
For k=0 To 32
For i=0 To 29
For j=0 To 5
If arrSrc(i,j)=k+1 Then
c(k)=c(k)+1
Next:Next:Next:End If
For k=0 To 32
For i=0 To 4
For j=0; To 5
If brrSrc(i,j)=k+1 Then
e(k)=e(k)+1;
Next:Next:Next:End If
For i=0 To 16
d(0)=c(i):f(0)=e(i):N1=i+1
For j=1 To 19
d(1)=c(j):f(1)=e(j):N2=j+1
For k=3 To 24
d(2)=c(k):f(2)=e(k):N3=k+1
For l=4 To 29
d(3)=c(l):f(3)=e(l):N4=l+1
For m=10 To 31
d(4)=c(m):f(4)=e(m):N5=m+1
For n=15 To 32
d(5)=c(n):f(5)=e(n):N6=n+1
R=0;Z=0;X=0;
For o=0 To 12
CS(o)=0:LH(o)=0
Z=N1+N2+N3+N4+N5+N6
R=d(0)+d(1)+d(2)+d(3)+d(4)+d(5)
X=f(0)+f(1)+f(2)+f(3)+f(4)+f(5);
For o=0 To 12
For p=0 To 5
If d(p)=o) Then CS(o)=CS(o)+1
If f(p)=o) Then LH(o)=LH(o)+1
If (R=25 OR R=27 OR R=33)&&N1 (Z=88 OR Z=94 OR Z=100 OR Z=66)&&(X=5 OR X=7)&&(N1=1 OR N1=3 OR N1=5 OR N1=6)&&(N6=22 OR N6=24||N6=26||N6=27||N6==8||Z=31)&&
(N2<11) Then
If (CS(2)+CS(4))>=1&&CS(7)=0&&CS(8)>=1&&CS(9)<=1&&CS(2)<=2&&CS(6)>=1&&CS(5)<=2&&CS(6)<=3&&CS(4)<=1&&(CS(2)>=2||CS(5)=2||CS(6)>=2)&&
LH(0)>=2&&LH(0)<=3&&LH(1)>=1&&LH(1)<=2&&(LH(2)+CS(3))>=1 Then
Next
Cells(i, 1) = N1:Cells(i, 2) = N2:Cells(i, 3) = N3:Cells(i, 4) = N4:Cells(i, 5) = N5:Cells(i, 6) = N6
Cells(i, 7) = Z'红球和值
Cells(i, 8) = R
Cells(i, 9) = d(0):Cells(i, 10) = d(1):Cells(i, 11) = d(2):Cells(i, 12) = d(3):Cells(i, 13) = d(4):Cells(i, 14) = d(5)
Cells(i, 15) = f(0):Cells(i, 16) =f(1):Cells(i, 17) =f(2):Cells(i, 18) =f(3):Cells(i, 19) =f(4):Cells(i, 20) =f(5)
S=S+1
Next:Next:Next:Next:Next:Next: Next
Cells(i, 21) =S
End If
End Sub