This site uses cookies own and third. If you continue to browse consider to accept the use of cookies. OK More Info.

Reto - Descubre el valor oculto

  • 4 Replies
  • 6273 Views

0 Members and 1 Guest are viewing this topic.

Offline Yuki

  • *
  • Underc0der
  • Posts: 66
  • Actividad:
    0%
  • Reputación 5
    • View Profile

Reto - Descubre el valor oculto

  • on: July 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.


¡Suerte!
« Last Edit: July 01, 2017, 08:31:36 am by Yuki »

Offline adragon

  • *
  • Underc0der
  • Posts: 145
  • Actividad:
    0%
  • Reputación 0
    • View Profile
    • Email

Re:Reto - Descubre el valor oculto

  • on: July 01, 2017, 05:01:23 pm
A=2; B=3; C=6; D=8
ABCD = 2368

Offline Yuki

  • *
  • Underc0der
  • Posts: 66
  • Actividad:
    0%
  • Reputación 5
    • View Profile

Re:Reto - Descubre el valor oculto

  • on: July 01, 2017, 11:53:02 pm
You are not allowed to view links. Register or Login
A=2; B=3; C=6; D=8
ABCD = 2368

Es correcto, pero el chiste es programar  :'(

Offline BlackBlex

  • *
  • Underc0der
  • Posts: 49
  • Actividad:
    0%
  • Reputación 4
  • Twitter: blackblex
    • View Profile

Re:Reto - Descubre el valor oculto

  • on: July 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:
Code: (Text) You are not allowed to view links. Register or Login
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

Offline rush

  • *
  • Underc0der
  • Posts: 380
  • Actividad:
    0%
  • Reputación 7
    • View Profile

Re:Reto - Descubre el valor oculto

  • on: July 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.

Code: (c#) You are not allowed to view links. Register or Login
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();
« Last Edit: July 03, 2017, 07:38:43 pm by rush »
You are not allowed to view links. Register or Login