La programación más básica
Codifique la creatividad:
Intercambie las posiciones de la matriz con los elementos 1-9, busque recursivamente toda la disposición y verifique si existe una relación propuesta por la pregunta para cada resultado del arreglo, si es así, genere el resultado.
El código se implementa de la siguiente manera:
#Contiene? & ltstdio.h & gt
¿#Contiene? & ltstdint.h & gt
¿#Definición? n9
uint8_t? arrayRaw[N];
uint16_t? número1? =?0,?núm2? =?0,?núm3? =?0;
uint32_t? ¿índice? =?0;
¿Anulado? print();
¿No es válido? permanente(int);? /*¿Busca la disposición completa de la matriz? */
¿Anulado? swap(int, int);
¿No es válido? print(void)
{
uint16_t? Yo;
printf("[%d]",? index);
¿Para qué? (I?=?0;?I?<?n;?++i)
{
printf("?%d?",?arrayRaw[I]) ;
}
printf(" \ n ");
}
¿No es válido? Tres cheques (no válidos)
{
num1? =?matrizRaw[0]? *?100?+?arrayRaw[1]? *?10?+?arrayRaw[2];
num2? =?matrizRaw[3]? *?100?+?arrayRaw[4]? *?10?+?arrayRaw[5];
num3? =?matrizRaw[6]? *?100?+?arrayRaw[7]? *?10?+?arrayRaw[8];
Si? (?(num1*2?==?num2)?& amp& amp?(num1*3?==?num3?)
{
imprimir(); p> p>
printf("num1=%d\r\n ",?num 1);
printf("num2=%d\r\n ",?num 2);
printf("num2=%d\r\n ",?num 2);
p>
printf("num3=%d\r\n ", ?num 3);
}
}
¿No válido? intercambiar(int?i,?int?offset)
{
int? Temperatura;
¿Trabajadores temporales? =?arrayRaw[desplazamiento];
arrayRaw[desplazamiento]? =?arrayRaw[i];
arrayRaw[i]? =?Temperatura;
}
¿No es válido? permanente(int?offset)
{
uint16_t? Yo;
¿Y si? (Offset?==?n?-?1)//?Situación básica
{
index++;
//?print(); p> p>
trible _ check();
Devolver;
}
Otros
{
¿Para qué? (i?=?offset;?i?<?n;?++i)
{
swap(i,offset); //intercambiar prefijo
p >Perm(offset? +?1); //Recursión
Exchange(i, offset); //Volver al prefijo y continuar con la disposición anterior.
}
}
}
int? main()
{
uint16_t? Yo;
¿Para qué? (I?=?0;?I?<?n;?++i)
{
arrayRaw[i]? =?Yo? +?1;
}
Perm(0);
printf("index=%d\r\n ",? index); p>
p>
¿Volver? 0;
}