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.