Solución a la Tarea 3: Placas de bicicletas

Hay varias formas de resolver la tarea. Una de ellas era darse cuenta de que hay una fórmula (usando combinaciones y permutaciones) que les da el númere exacto. La otra consiste de revisar todas las posibilidades y sólo contar las válidas. Eso es lo que hago en el programa de abajo:

#include <stdio.h>
 
int main(void)
{
  int a, b, c, d, i, j, k, n=0, l=0;
 
  scanf("%d%d%d%d", &a, &b, &c, &d);
  for (i = a; i <= b; i++)
    for (j = a; j <= b; j++)
      for (k = a; k <= b; k++)
        if (i != j && j != k && k != i)
          n++;
  for (i = c; i <= d; i++)
    for (j = c; j <= d; j++)
      if (i != j)
        l++;
  printf("%d\n", n*l);
  return 0;
}


Los valores de entrada y salida empleados para la evaluación fueron los siguientes:

Entrada     Salida
0 2 2 3     12
0 2 2 4     36
0 2 2 2     0
1 2 2 3     0
1 4 1 5     480
1 3 1 4     72
1 3 1 26    3900
0 9 1 2     1440
1 8 2 25    185472
0 9 1 26    468000

Para probar su tarea en UNIX, escriban la instrucción gcc placasNN.c -o placas para compilar su programa, y la instrucción ./placas para correrlo. Algunos errores comúnes fueron: (a) No revisar que todos los números debían ser diferentes. (b) No revisar que las letras debían ser diferentes.