📄 选x中y保z投注程序.cpp
字号:
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
#define XX 10 //----看中数字个数----
#define YY 6 //----中几个数------
#define ZZ 5 //----保几个数--------
//从n个数中选择k个数(n1,n2,...,nk),
//从0,1,...,k-1开始,如果已经达到最后一个(n-k,n-k+1,...,n-1),就返回0,否则返回1
int GetNextCombination(int *pP,int n,int k)
{
int i,j;
for(i=k-1;i>=0;i--)
if(pP[i]!=n-k+i)
break;
if(i<0)
return 0;
pP[i]++;
for(j=i+1;j<k;j++)
pP[j]=pP[i]+j-i;
return 1;
}
//////////////////////////////////////////////////////////////////////////////////
int zhuhe(int a,int b)
{
int i,j,x=1,y=1;
for(i=0;i<b;i++)
x*=(a-i);
for(j=0;j<b;j++)
y*=(b-j);
return x/y;
}
//////////////////////////////////////////////////////////////////////////////////
int bh[101000][YY];
int kzh[XX]={2,6,11,15,16,22,26,28,30,32};//-看准的中奖号码---XX
int sxh[YY]={2,6,15,16,26,32};//---------首选中奖号码-----!!!!!!!!!!!!!!!!!!!!
//kzh[XX]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33};//-看准的中奖号码---
void main()
{
int i,j,k,w,t,js;
int kzhdz[XX];
FILE *fp;
srand(time(0));
fp=fopen("选X中Y保Z输出结果-jg.txt","w");
printf("双色球:(前区:%10d种 总:%10d种)\n",zhuhe(33,6),zhuhe(33,6)*zhuhe(16,1));
printf("大乐透:(前区:%10d种 总:%10d种)\n",zhuhe(35,5),zhuhe(35,5)*zhuhe(12,2));
fprintf(fp,"选%02d中%02d保%02d选法:\n\n",XX,YY,ZZ);
//for(i=0;i<YY;i++)sxh[i]=kzh[i];
w=0;
for(j=0;j<YY;j++)
bh[w][j]=sxh[j];
w++;
for(i=0;i<XX;i++)kzhdz[i]=i;//-------看准的中奖号码地址---
for(i=0;i<zhuhe(XX,YY);i++)//------------------------------------------------------------
{
for(j=0;j<w;j++)//-------------------------
{
js=0;
for(k=0;k<YY;k++)
{
for(t=0;t<YY;t++)
if(kzh[kzhdz[t]]==bh[j][k])js++;
}
if(js>=ZZ)break;
}//------------------------ ---------------printf("%d\n",w);
if(j==w)
{
for(j=0;j<YY;j++)
bh[w][j]=kzh[kzhdz[j]];
w++;
}
GetNextCombination(kzhdz,XX,YY);
}//------------------------------------------------------------------------------
for(i=0;i<w;i++)
{
fprintf(fp,"第%04d注:",i+1);
for(j=0;j<YY;j++)
fprintf(fp," %02d",bh[i][j]);
fprintf(fp," %02d",(rand()%16)+1);//----随机蓝球----
fprintf(fp,"\n");
}
printf("\n共投彩票%4d注\n",w);
fprintf(fp,"\n双色球选%2d中%02d保%02d投注:\n",XX,YY,ZZ);
fprintf(fp,"缩水投注彩票%10d注\n",w);
fprintf(fp,"复式投注彩票%10d注\n",zhuhe(XX,YY));
fprintf(fp," 缩水比例为%.8f\n",0.1*w/zhuhe(XX,YY));
fclose(fp);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -