Hace 6 años | Por fantomax
Publicado hace 6 años por fantomax

Comentarios

ochoceros

Bueno, si hay varias soluciones esta es una de ellas:

A = 1,25
B = 1,50
C = 3,16
D = 1,20

A ver quién pone otra

fantomax

#2 Cuenta cómo la obtienes, aunque sea por un programilla de ordena...

ochoceros

#3 Ya me conoces, siempre que puedo hago trampa, pero no por lo de ser malo sino porque hoy en día "no es quien más rápido lo hace sino quien más rápido lo encuentra hecho".

Aunque también podría haber usado una copia que tengo (de cuando lo ofrecían gratis) de las primeras versiones de Eureqa para sacar el resultado por "fuerza bruta". La pena es que este software demostró ser tan útil (a la hora de inferir fórmulas en base a resultados) para sectores como los inversores y analistas de banca que ahora es de pago dentro de una solución "enterprise" por la que cobran no ya un huevo y la yema del otro, sino más riñones de los que hay en tu edificio.

fantomax

#5 #4
La fuerza bruta es parte de este problema, al menos a mí me ha hecho falta, pero primero se reducen los casos, caramba.

Xtrem3

#3 No sé, sólo se me ocurre la fuerza bruta, fijar un par de precios (1 €, 1€; 1€, 1,25€;1,25€,1,25€...) y ver que salen los otros 2...
Quizás... ¿programación lineal?

...

Acabo de comprobar con este script en Matlab (fuerza bruta):

function sol = seveneleven
idx = 1;
for a = 0.01:0.01:7.11
for b = a:0.01:7.11
for c = b:0.01:7.11
for d = c:0.01:7.11
suma = round(1e6*(a+b+c+d))/1e6;
prod = round(1e6*(a*b*c*d))/1e6;
if suma == 7.11 && prod == 7.11
sol(idx,:) = [a b c d]
idx = idx +1;
end
end
end
end
end
end

que la solución que propone #2 es la única, considerando solo dos decimales.

D

#10 Solo hay una solución exacta con dos decimales.
Como dice #1, el resto son aproximaciones con dos decimales.
El resultado es la multiplicación (7,110032 en el último caso).
La suma es exacta en todos. 7,11.

En cualquier caso, con fuerza bruta, en 2 segundos aparece la correcta/exacta y no encontrado otra forma de resolverlo. Quizá #2 nos diga otra forma en la página de donde ha sacado el resultado. También tengo curiosidad

fantomax

Hay una solución exacta y alguna más que redondearía correctamente.

D

Fuerza bruta. Redondeando un poco más, salen miles.
0.76 * 1.84 * 2.23 * 2.28 --- 7.110025
0.77 * 1.89 * 1.97 * 2.48 --- 7.110013
0.78 * 1.76 * 2.08 * 2.49 --- 7.110006
0.83 * 1.56 * 2.08 * 2.64 --- 7.110006
0.83 * 1.75 * 1.78 * 2.75 --- 7.109988
0.87 * 1.39 * 2.39 * 2.46 --- 7.109959
0.87 * 1.42 * 2.18 * 2.64 --- 7.109974
0.88 * 1.47 * 1.97 * 2.79 --- 7.110013
0.88 * 1.66 * 1.69 * 2.88 --- 7.110006
0.90 * 1.37 * 2.12 * 2.72 --- 7.109971
0.93 * 1.27 * 2.37 * 2.54 --- 7.109986
0.94 * 1.26 * 2.30 * 2.61 --- 7.109953
0.94 * 1.38 * 1.89 * 2.90 --- 7.109953
0.99 * 1.27 * 1.95 * 2.90 --- 7.110032
1.01 * 1.15 * 2.41 * 2.54 --- 7.110006
1.17 * 1.35 * 1.42 * 3.17 --- 7.109962
1.20 * 1.25 * 1.50 * 3.16 --- 7.110000 EXACTA
1.20 * 1.36 * 1.37 * 3.18 --- 7.109971
1.27 * 1.30 * 1.35 * 3.19 --- 7.110032

D

#7
int a,b,c,d;
float q;

for ( a=1; a

...

#7 Entiendo que estos resultados no son los que se piden en el problema, ya que no puedes pagar el tercer decimal.
Desde mi punta de vista, el problema exige soluciones exactas con solo un máximo de dos decimales.

D

Yo soy más de la oferta 3x2 del Carrefour.

XiaXiaXia

Pues yo me he puesto a pelo, excepto en cierto momento con el wolfram para una ecuación de segundo grado... aunque no se puede asegurar resultado único claro...
Factorización de 711000000. (Se asumen los valores *100 y buscamos todo resultados enteros) => 2^6 * 3^2 * 5^6 * 79
Queremos que la suma sea 711 y tenemos que A = n*79. Aquí llega la gran suposición de que B,C,D son múltiplos de 5 (hay mucho 5 en la factorización lol).
buscamos que quede en la suma algo que sea multiplo de 5 :
711- 79*t=N*5. Nos funciona para t=4 => B+C+D = 395
como suponemos multiplos de 5 => b + c + d = 79
( Otra suposición más:) 25x+5y+z=79
x*y*z=2^4 * 2^3 = 144
z=144/(x*y)

125x+25y+5*144/(xy) =395
25x+5y+144/(xy)=79
Usamos el wolframalpha y nos da que la única solución con x e y enteros (aunque no tendrían por qué serlo, ya que los que tienen que serlo obligatoriamente son A B C y D), y positivos es x=1 e y=6 lo que nos da z=24

Con esto ya sacamos A=316 B=125 C=150 y D=120

Es una fumada y una orgía de suposiciones, lo sé, pero bien entretenido he estado ^^