noticias y última hora

Encontremos la matrícula

El problema de esta semana está sacado de un libro de la colección Desafíos Matemáticos de RBA, pero no voy a decir qué libro es hasta que no se haya resuelto. Vamos con él:

Tres estudiantes de Matemáticas que iban paseando vieron que un coche cometía una infracción de tráfico. Ninguno de los tres logró memorizar el número de cuatro cifras de la matrícula (algo extraño por cierto), pero cada uno de ellos se dio cuenta de alguna particularidad del número en cuestión. Uno de ellos observó que las dos primeras cifras coincidían, otro vio que las dos últimas también coincidían y otro se dio cuenta de que el número era un cuadrado perfecto (vale, sí, es extraño que sepa que es un cuadrado perfecto sin haber memorizado el número, pero el problema es así). Sabiendo que no era el 0000, ¿podemos determinar solamente con estos datos el número de la matrícula del coche?

Ánimo, que es sencillo.

Posts aleatorios

Sin comentarios

  1. Ricardo | 3 de June de 2008 | 09:42

    Pongo a trabajar al código java y me dice 7744

  2. Carlos Licea | 3 de June de 2008 | 09:43

    Ahí les va, ya que soy informático y no matemático he hecho trampa y he escrito una función simple que obtenga el número:
    int main() {
    for(int i=0; i<100; i+=11) {
    for(int j=0; j<100; j+=11) {
    if( sqrt(i*100 + j) – (int)sqrt(i*100 + j) == 0)
    cout<<(i*100 + j)<<endl;
    }
    }
    }
    Y he obtenido que la respuesta es “7744″. Como ya dije carezco de una prueba matemática pero bueno ya está.

  3. Ricardo | 3 de June de 2008 | 09:49

    Yo lo he hecho al revés:

    for (int i=0; i<100; i++) {
    int j=i*i;
    String str = “” + j;
    while (str.length()<4) str=”0″+str;
    if (str.charAt(3)==str.charAt(2) &&
    str.charAt(0)==str.charAt(1))
    System.out.println(j);
    }

  4. menos5 | 3 de June de 2008 | 10:04

    Ruby tambien me devuleve el 7744, asi que como todos coincidimos…

  5. andmujika | 3 de June de 2008 | 10:41

    el numero aabb se puede escribir de esta forma:
    a*1100 + b*11
    Por tanto,
    a*1100 + b*11 = c^2, 11*(a*100 + b)=c^2
    de aquí,
    c = 11*d y (a*100 + b) = 11*d^2
    como la parte izquierda de la ultima igualdad solo puede llegar a 909 (y dividiendo por 11) d^2<90. Por lo tanto, probando todas las posibilidades de d (del 1 al 9), vemos que la unica forma es d=8.
    d^2=64, d^2*11=704. a=7, b=4
    y c = 88.
    Luego 88^2 7744.

  6. Víctor | 3 de June de 2008 | 10:42

    No he sido mucho más original :)

    int main() {
    for (int i=31; i*i < 10000; ++i) {
    int n = i*i;
    if (n%10 == (n%100)/10 and n/1000 == (n%1000)/100)
    cout << “el numero es: ” << i << “, y su cuadrado: ” << n << endl;
    }
    }

    —Salida—-
    el numero es: 88, y su cuadrado: 7744

  7. Pirataverde | 3 de June de 2008 | 10:43

    pues yo no soy informático y lo he hecho con restos potenciales y sabiendo cómo se descompone un número sabiendo que está en sistema decimal:
    xxyy=x·1100+y·11=11·(x·100+y)=d^2
    como el número tiene que ser un cuadrado, debe ser divisible por 11 al cuadrado, luego (x·100+y) debe ser divisible por 11.
    Uso los restos potenciales para ver cuando lo es y descubro que un número de la forma x0y es divisible por 11 si x+y es divisible por 11, luego las posibilidades se reducen a los pares (2,9), (3,8),…(7,4), (8,3) y (9,2)
    De cada par saco el número que les corresponde (x0y) y lo divido por 11 para ver cual queda como cuadrado perfecto.
    Ejemplo: de 209:11=19, que no es cuadrado perfecto
    El único que sale cuadrado perfecto es 704:11=64 que es 8 al cuadrado.
    Luego
    d=8·11=88
    x=7
    y=4
    y el número de la matrícula es el 7744.

  8. duhu | 3 de June de 2008 | 10:47

    Es sencillo, tanto que lo he conseguido hasta yo.

    al ser el número XXYY es múltiplo de 11
    al ser cuadrado perfecto, es múltiplo de 121
    basta con ir multiplicando por todos los cuadrados perfectos hasta que llegamos a 121*64 = 7744

  9. Guifré Cuní | 3 de June de 2008 | 10:48

    En python es casi ir traduciendo el problema:
    # Problema gausianos: “Encontremos la matricula”
    # http://gaussianos.com/encontremos-la-matricula/
    # Formato abcd

    if __name__ == “__main__”:
    **for n in range(100):
    ****matricula = pow(n,2)
    ****a = matricula / 1000
    ****b = (matricula – (a*1000)) / 100
    ****c = (matricula – (a*1000) – (b*100)) / 10
    ****d = (matricula – (a*1000) – (b*100) – (c*10))
    ****if a == b and c == d and a != 0 and c != 0:
    ******print “%d = %d^2″ % (matricula,n)

  10. Guifré Cuní | 3 de June de 2008 | 10:52

    if __name__ == “__main__”:
    **for n in range(100):
    ****matricula = pow(n,2)
    ****a = matricula / 1000
    ****b = (matricula – (a*1000)) / 100
    ****c = (matricula – (a*1000) – (b*100)) / 10
    ****d = (matricula – (a*1000) – (b*100) – (c*10))
    ****if a == b and c == d and a != 0 and c != 0:
    ******print “%d = %d^2″ % (matricula,n)

  11. Manuel | 3 de June de 2008 | 11:49

    Yo he seguido el método de pirataverde, pero la parte que él dice “la forma x0y es divisible por 11 si x+y=11″ la he obtenido del artículo anterior ;-)

  12. ^DiAmOnD^ | 3 de June de 2008 | 14:07

    Eso era lo que pretendía: la aplicación del artículo de ayer a este problema.

    Muy bien chicos :)

  13. Anil | 3 de June de 2008 | 19:59

    88^2 = 7744

  14. rodrigo | 3 de June de 2008 | 22:26

    A mi se me ocurrió hacerlo con congruencias:

    AABB = x^2, \ x \in N

    11 (10^2 A + B) = x^2 \Rightarrow x^2 \equiv 0 \ mod \ 11 \Rightarrow x \equiv 0 \ mod \ 11

    Por tanto x = 11 \ n \Rightarrow x^2 = 11^2 \ n^2

    Y como 11^2 n^2 \lneq 10^4 \Rightarrow n \lneq 10

    sólo tenemos que probar para n = 1, 2 \dots 9

    y para n=8 obtenemos 11^2 \ 8^2 = 7744

  15. SmartDust | 4 de June de 2008 | 01:28

    for d2 in range(10):
      for d1 in range(10):
        n=1100*d2+11*d1
        s=int(sqrt(n))
        if n and s*s==n:
          print n

  16. Araceli | 4 de June de 2008 | 02:15

    Ahora solo falta que publiqueis el nombre del libro :)

    Saludos

  17. Mauro | 4 de June de 2008 | 03:34

    Número => XXYY => Y+10Y+100X+1000X = R²

    => 11*(Y+100X)=R²

    Donde R/11 pertenece a los naturales y 32<R( 33, 44, 55, 66, 77, 88, 99 )

    Se verfica para 88. 88²= 7744 (XXYY)

    Saludos

  18. Mauro | 4 de June de 2008 | 03:37

    Número => XXYY => Y+10Y+100X+1000X = R²

    => 11*(Y+100X)=R²

    Donde R/11 pertenece a los naturales y 32<R<99

    Posibles valores para R =( 33, 44, 55, 66, 77, 88, 99 )

    Se verfica para 88. 88²= 7744 (XXYY)

    Lo que escribí arriba quedo mal, mis disculpas.

    Saludos

  19. Dorwinrin | 4 de June de 2008 | 14:58

    Yo lo he hecho parecido a duhu, o sea, intuitivamente (no digo sin trampas por no ofender a los informáticos).

    Un número xxyy es siempre igual a 11*x0y(XceroY). Como la matrícula es un cuadrado perfecto, x0y tiene que ser a su vez 11*otro cuadrado.

    El único número de tres cifras x0y que puedes obtener multiplicando 11 por cuadrados perfectos es 704 (11*64), así que la matrícula debe ser 704*11=7744

    (My hobby de ir dividiendo matrículas por la calle ayuda mucho en esto)

  20. ^DiAmOnD^ | 5 de June de 2008 | 19:28

    Cierto, falta el libro:

    Álgebra recreativa de Yakov Perelman.

  21. otro | 5 de June de 2008 | 23:43

    ¿Alguna relación con el excéntrico Grigori Perelman?

  22. Omar-P | 6 de June de 2008 | 00:08

    Yakov y Grigori Perelman tienen el mismo apellido y ambos nacieron en Rusia, pero no son parientes. Sin embargo existe una conexión entre ellos: Cuando Grigoli era un niño su padre le regaló un libro escrito por Yakov, titulado “Física recreativa”, cuya lectura inspiró a Grigoli su amor por la matemática.

  23. carlos | 7 de June de 2008 | 20:19

    tengo uno de esos libros, editorial Mir, URSS

  24. sergio | 17 de June de 2008 | 19:50

    bueno ahi tienen casi toda las soluciones k se me pueden ocurrir pero alcanse a dar
    una solucion que todavia no estaba en suma de senos y cosenos puedes verla si quieren

  25. Davidmh | 20 de June de 2008 | 16:30

    Otra forma de ver el problema, también en el magnífico Python:

    n=1
    while n<99:
    cifra=n*n
    cifra1=int(cifra/1000)
    cifra2=int(cifra/100)-cifra1*10
    cifra3=int(cifra/10)-cifra1*100-cifra2*10
    cifra4=cifra-cifra1*1000-cifra2*100-cifra3*10
    n+=1

    if cifra1==cifra2 and cifra3==cifra4:
    print cifra

    A partir del while todo sigue la misma indentación, salvo la última línea que, obviamente, va dentro del if.

  26. Gokuh | 1 de August de 2008 | 16:50

    A mi me dio 7744, pero me puse a buscarlo con la calculadora del celular mientras estaba sentado en el inodoro haciendo mis necesidades..

    Primero me fije los limites, o sea entre 32 y 99. Luego me fui fijando los q su potencia tendrian los dos primeros numeros iguales, el primero fue el 34 y fui sumando 11, dsps 9, hasta 5, y dsps solo un poco al azar hasta q lo logre.

    Saludos!

    Gabriel

  27. pepellou | 2 de September de 2008 | 10:29

    Mi método sin duda es el más rápido. Me sé de memoria los cuadrados de los naturales entre 1 y 100 (deformación profesional de calculista frustrado), así que “recordé” que 7744 es el único cuadrado perfecto de esa forma.

    Saludos!

  28. looco | 1 de May de 2009 | 00:20

    puede ser 3112

Comentarios cerrados.