⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 解f256方程-尾数交集过滤.cpp

📁 双色球尾数交集过滤
💻 CPP
字号:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int A[7]={0};
int B[5][15]={0};
int wh[6]={11};
void main()
{
    int i,j=0,k[5]={0},tem=11;
	int s=0,g_num=0,cnt=0,m=0,n=0,t=0,h=0;
	FILE *fr,*fr_ca,*fw;
	char res_file[500],result_file[500];
	
	printf("请输入源文件名\n");
	scanf("%s",res_file);
	if((fr=fopen(res_file,"r"))==NULL)
	{
		printf("cannot open the file\n");
		exit(0);
	} 
	printf("请输入结果文件名\n");
	scanf("%s",result_file);
	fw=fopen(result_file,"w");
	fr_ca=fopen("ca_mantissa","r");

////////////////////////////////////////////////	
	while(fscanf(fr_ca,"%d",&s)!=EOF)//读入尾数条件
	{
		if(s!=34)
			B[t][j++]=s; 
		else 
		{
			k[t]=j;
			t++;
			j=0;
		}
	}
	g_num=t;
	j=0;
	
	printf("尾数条件:\n");
	for(i=0;i<g_num;i++)
	{
		for(j=0;j<k[i];j++) printf("%d ",B[i][j]);
		printf("\n");
	}
//////////////////////////////////////////////////////////
	j=0;
	while(fscanf(fr,"%d",&s)!=EOF)
	{
		A[j++]=s; 
		if(j==6)
		{
			j=0; 
			//尾号计算-统计每组号的尾号
			for(i=0;i<6;i++)
			{
				for(m=0;m<h;m++)
					if((A[i]%10)==wh[m])
						break;
				if(m==h)
				{
					wh[h]=A[i]%10;
					h++;
				}
			}
			for(i=0;i<g_num;i++)//尾数交集过滤
			{
				cnt=0;
				for(n=0;n<h;n++)
					for(m=1;m<k[i]-1;m++) 
						if(wh[n]==B[i][m]) cnt++;
				if(cnt<B[i][0]||cnt>B[i][k[i]-1]) 
					break;
			}
		 
			if(i==g_num)
			{
				for(i=0;i<6;i++) fprintf(fw,"%02d ",A[i]);
				fprintf(fw,"\n");
			}
			h=0;	
			
		}
	}
		
	fcloseall();
}
    
    
   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -