Underc0de

[In]Seguridad Informática => Wargames y retos => Mensaje iniciado por: Yuki en Julio 01, 2017, 08:07:03 AM

Título: Reto - Descubre el valor oculto
Publicado por: Yuki en Julio 01, 2017, 08:07:03 AM
El día de ayer un amigo me enseñó una muy interesante cuestión matemática. El reto que les propongo es escribir y postear un código que les resuelva este acertijo. Pueden usar el lenguaje que quieran.

(http://i.imgur.com/XIloJzj.jpg)

¡Suerte!
Título: Re:Reto - Descubre el valor oculto
Publicado por: Yuki en Julio 01, 2017, 11:53:02 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
A=2; B=3; C=6; D=8
ABCD = 2368

Es correcto, pero el chiste es programar  :'(
Título: Re:Reto - Descubre el valor oculto
Publicado por: BlackBlex en Julio 03, 2017, 01:39:52 PM
Se que esta muy pegado al acertijo y no es dinámico, pero es la única forma donde encontré como resolverlo sin meterme en muchos líos.  ;D

Amo los juegos del Profesor Layton

Cramel:
Código (Text) [Seleccionar]
Var cmd:Consola

    Crear cmd
    Var a, b, c, d:Entero
    Const fijo = 4
    Var i, j:Entero

    i = 1
    j = 1

    Repetir
        a = i
        cmd.escribirLinea("a tomo el valor de: " + EntCad(a))
        d = a * fijo
        cmd.escribirLinea("d tomo el valor de: " + EntCad(d))
        Repetir
            c = j
            cmd.escribirLinea("c tomo el valor de: " + EntCad(c))
            Si ( (a+c) = d ) Entonces
                Salir Repetir
            FinSi
            j = j + 1
        MientrasQue j <= d
        b = (c/2)
        cmd.escribirLinea("b tomo el valor de: " + EntCad(b))

        Si ( ((a*b) = c) And ((c-b) = b) ) Entonces
            Salir Repetir
        FinSi

        cmd.escribirLinea("De nuevo" + CRLF)
        i = i + 1
    MientrasQue i <= 9
   
    cmd.establecerTitulo("Resultado final")
    cmd.escribirLinea("")
    cmd.escribirLinea("a: " + EntCad(a) + CRLF + "b: " + EntCad(b) + CRLF + "c: " + EntCad(c) + CRLF + "d: " + EntCad(d))
    cmd.pausarConsola()
Destruir cmd
Título: Re:Reto - Descubre el valor oculto
Publicado por: rush en Julio 03, 2017, 06:41:53 PM
Hola, creo que primero tuve que despejar unas ecuaciones jajaja, aunque creo que se puede resolver por álgebra lineal con alguna matriz, pero no me quise meter tanto, esta es mi solución aunque creo que es un poco mala ya que no es dinámica y peor aun mi while jaja.

Código (c#) [Seleccionar]
int a=0, b=0, c=0, d=0, i=0;
            int aux;
            bool case1= false, case2=false, case3=false, case4=false;
            Console.WriteLine("antes while");
            while(1 > 0)
            {
                i++;
                a = i;
                d = 4 * a;
                c = d - a;
                b = c / a;
                aux = a + c;
                if(aux == d)
                {
                    case1 = true;
                }
                aux = a * b;
                if(aux == c)
                {
                    case2 = true;
                }
                aux = c - b;
                if (aux == b)
                {
                    case3 = true;
                }
                aux = a * 4;
                if(aux == d)
                {
                    case4 = true;
                }

                if(case1 && case2 && case3 && case4)
                {
                    break;
                }
            }
            Console.WriteLine("Iteraciones: " + i);
            Console.Write("A: " + a);
            Console.Write("B: " + b);
            Console.Write("C: " + c);
            Console.Write("D: " + d);
            Console.ReadKey();