Quiero usar lenguaje C para resolver el problema del pollo y el conejo en la misma jaula. ¿Cómo hacerlo?
El problema de tener una gallina y un conejo en la misma jaula es, en definitiva, un problema matemático. No hay más de dos formas de abordar problemas matemáticos en lenguaje C.
Supongamos que el número de cabezas es A y el número de pies es B.
1. Solución violenta:
//Enumerar el número de gallinas
int flag = 0;
for(i = 0 ; i <= A; i++) {
j = A - i;
si (i * 2 + j * 4 == B) {
bandera = 1;
printf("ans es: %d, %d\n", i, j);
break;
} p>
}
if (flag == 0) {
puts("¡Sin respuesta!");
}
2. Estableciendo un modelo matemático para resolver el problema
El problema de la gallina y el conejo en la misma jaula es un sistema de ecuaciones lineales en dos variables.
X + Y = A
2X + 4Y = B
X = (4A - B) / 2
Y = ( B - 2A) / 2
Convertir a código:
if ( (4 * A - B) % 2 == 0 && (B - 2 * A) % 2 == 0) {
printf("ans es: %d, %d\n", (4 * A - B) / 2, (B - 2 * A) / 2);
} else {
puts("¡Sin respuesta!");
}