Algoritmo en lenguaje C del movimiento del caballo.
#includelt; stdio.hgt;
/*
* Encuentra la forma factible de ir desde (x1, y1) hacia la derecha hasta (y1, y2) Total
*/
int getWays(int x1, int y1, int x2, int y2)
{
si (y1 gt; y2) //En el lado derecho del objetivo
return 0;
else if(y1 == y2 amp; amp; x1 != x2) // En una línea vertical del objetivo, pero no en el mismo punto
return 0;
else if(y1 == y2 amp; amp; x1 == x2) //Es el mismo punto que el objetivo
return 1;
else{ // Divide y vencerás, encuentra la suma de los cuatro movimientos
int result =0;
if(x1 gt; 1) //Puede ir a 1
resultado = getWays(x1 - 1, y1 2, x2, y2);
if(x1 gt; 2) //Puede ir a 2
resultado = getWays(x1 - 2, y1 1, x2, y2);
if(x1 lt; 5) //Puedes apostar 1
resultado = getWays(x1 1, y1 2, x2, y2);
if(x1 lt; 4) //Puedes jugar 2
resultado = getWays(x1 2, y1 1, x2, y2);
devuelve resultado;
}
}
void main(void)
{
int x, y; //Coordenadas del objetivo
printf("Ingrese las coordenadas del objetivo:\n") ;
scanf("dd", amp ; /p>
Si no entiende, comuníquese nuevamente...