¿Cuál es la restricción para [matemáticas] A, B, C, D [/ matemáticas] y [matemáticas] E [/ matemáticas]?
Si se permiten números enteros, entonces hay infinitas soluciones, que son bastante aburridas de resolver usando un programa. Esta es la forma más trivial.
[matemáticas] A = 0, B + C = – (D + E) [/ matemáticas]
- ¿Puede una resta dar un resultado negativo usando un número sin signo?
- ¿Qué notación asintótica se usa con más frecuencia para los algoritmos y por qué?
- ¿Cuál es el algoritmo para rotar una matriz bidimensional?
- ¿Cuántas matemáticas se requieren para la informática?
- ¿Qué procesos se modelan mejor mediante una distribución exponencial? ¿Cómo se relaciona la función exponencial con tales procesos?
Si deben ser números positivos, entonces, pongamos esta restricción:
[matemáticas] A> = B> = C> = D> = E> = 1 [/ matemáticas]
Esto significa que [matemáticas] A [/ matemáticas] es el número más grande. Podemos ver que cuando [math] A [/ math] es 2 y todas las demás variables son 1, el lado izquierdo ya es 8, mientras que el lado derecho es solo 6. El aumento del valor de cualquier variable solo conducirá a una mayor disparidad.
Por lo tanto, la restricción se convierte en:
[matemáticas] 2> A> = B> = C> = D> = E> = 1 [/ matemáticas]
Esto dejó solo [matemáticas] A = B = C = D = E = 1 [/ matemáticas], lo cual no es una solución.
Otra posible restricción es que las variables deben ser distintas de cero. En este caso, una parte del argumento anterior aún se mantiene. Pongamos esta restricción:
[matemáticas] | A | > = | B | > = | C | > = | D | > = | E | > = 1 [/ matemáticas]
Si el valor absoluto de [matemática] A [/ matemática] es 2 o más, el valor absoluto del lado derecho seguirá siendo siempre menor que el lado izquierdo. Sin embargo, ahora tenemos una restricción más flexible:
[matemáticas] 2> | A | > = | B | > = | C | > = | D | > = | E | > = 1 [/ matemáticas]
Lo que significa
[matemáticas] | A | = | B | = | C | = | D | = | E | = 1 [/ matemáticas]
Es decir, cada variable es 1 o -1.
Ahora solo hay 32 permutaciones de este valor, que se pueden buscar fácilmente utilizando cualquier tipo de bucle.
Un ejemplo del código:
#include
int main () {
para (int i = 0; i <32; i ++) {
int A = (i >> 0)% 2? 1: -1;
int B = (i >> 1)% 2? 1: -1;
int C = (i >> 2)% 2? 1: -1;
int D = (i >> 3)% 2? 1: -1;
int E = (i >> 4)% 2? 1: -1;
if ((A * B * C * D * E) * (A * B * C * D * E) * (A * B * C * D * E) == A + B + C + D + E) printf (“A:% d, B:% d, C:% d, D:% d, E:% d \ n”, A, B, C, D, E);
}
devuelve 0;
}