C filtra números idénticos de combinaciones completas del 8 al 6
#define M 8 //8 números
#define N 6 //Selecciona 6
int step=0; /El número de pasos, es decir, el número de matrices generadas
int old[100][N]; //Coloque la matriz generada en esta matriz bidimensional
int num[ 100]; //Crear un registro de salida
int T=0
int router(int *s,int *str)
{
int i,j,k,sum;
for(j=0;j<.N;j++) //Coloque la combinación recién generada en la matriz anterior
{
antiguo[paso][j]=s[j];
}
paso++;
para(i = 0;i { sum=0; for( j=0;j { if(num[j]==i) p > break } if(j>=T) / /j>=T significa que no hay ningún registro idéntico al registro de salida continue ; // Entonces no es necesario juzgar for(j=0;j { for(k=0 ;k { if(old[i][j]==s[k]) // si hay números en la matriz anterior que son iguales a los de la matriz s sum++;//entonces sum++ } } if(sum= =5) //si hay cinco iguales { return 0; } } num[T]=step-1; //Registra el subíndice de la matriz de salida para el próximo uso T++; Devuelve 1; p> }