CUESTIONES -NO TAN TRIVIALES- DEL DESCONFINAMIENTO . 12 (25-5-20)

Cuestión 20

Contra la creencia de muchos niños y algunos mayores, la Luna sale también de día, en cualquiera de sus fases. Y cuando es luna llena, puede que se dé un eclipse de Sol.  En todo caso, se ve la porción de disco lunar blanco. Pero el resto de disco no se ve, sino el cielo azul. ¿Por qué no se ve? ¿No debería verse el trozo de disco lunar negro? ¿Por qué se ve la Luna blanca y azul?

 

***********************

 RESPUESTAS A CUESTIONES.11  (23-5-20)

 Cuestión 19

El 26 de julio de 1998, a las 15h 43 m, un reloj digital que además de dar la hora y los minutos, también indica la fecha (día, mes y año), indicaba lo siguiente: 15:43 26 07 98. En aquel momento el reloj usaba todas las cifras sin repetir ninguna.

¿Cuándo será la primera vez que vuelva a darse esta situación, a partir de ahora?

Respuesta 19

Me ha salido las 19:58 del 27-06-34.

Si tienes media -o una- hora libre puedes probar a resolverlo.

El formato del número será  HH:MM DD-MM-AA, que escrito sin ambigüedad es h1 h2 min1 min2 d1 d2 mes1 mes2 a1 a2.

Las restricciones de entrada son:

  • h1 puede valer 0, 1 y 2 (siempre que h2 sea 0, 1, 3, 4)
  • h2 cualquiera entre 0 y 9
  • min1 entre 0 y 5
  • min2 cualquiera
  • d1 los valores 0, 1, 2, 3 (siempre que d2 sea 0 o 1, compatible con el valor del mes)
  • d2 cualquiera
  • mes1 0, 1 (con mes2 0, 2)
  • a1  de 2 (estamos en 2020) a 9
  • a2 cualquiera

Se busca el valor mínimo de la fecha. Explico mi procedimiento, por prueba y error condicionado, (no detallado del todo, pero el lector interesado puede seguir todo el razonamiento)

a) No es posible año 20 porque entonces el mes debería ser 12: hemos gastado ya el 0.  Pero tampoco sería válido por haber usado ya el 2

b) No es posible año 21 porque llevaría al día 34, no válido: el día no puede ser 0x, ni 1x, ni 2x. Sólo puede ser 3x, pero no 30 ni 31. Ni 32 ni 33…

c) No es posible año 23 ni ningún otro año de la década de los 20 por razones parecidas que el lector puede atisbar facilmente.

d) No es posible años 30, 31, 32 por limitaciones de fecha de las horas, días y meses. El primer año posible es el 34, y trabajaremos con ese

e) Ajustemos a continuación por prueba y error el valor del mes, dejando para el final los minutos, día del mes y mes, que son ajustables con las cifras que queden. Probando con el mes 0x, después de unos cuantos ensayos se llega a la conclusión de que el primer mes válido es el 06 (porque 0, 1, 2, 3, 4 y 5 estarán ya gastados), y a partir de ahí se ajusta todo lo demás.

Uff, qué feo es este procedimiento, tan poco algorítmico. Parece como resolver un puzzle de 1000 piezas sin disponer de la imagen final (que es lo que hemos logrado hacer en pareja estos días, por cierto).

Es posible que haya otras estrategias de resolución. Incluso es posible que me haya equivocado y haya alguna solución mejor.

 Fuente: Miquel Duran lo sacó de la web de su Universitat de Girona. No sé encontrar ahí la solución, si es que está.

3 Responses to CUESTIONES -NO TAN TRIVIALES- DEL DESCONFINAMIENTO . 12 (25-5-20)

  1. toni ha dit:

    Con los datos facilitados
    19:58 27-06-34
    se podría permutar el 8 y el 9 y saldría un valor
    18:59 27-06-34

  2. cmans ha dit:

    Bravo!. Has ganado 59 minutos. Mañana lo cuento en el post.

  3. Carles Corretgé ha dit:

    Us poso les 10 primeres dates:

    2706341859
    2706341958
    2806341759
    2806341957
    2906341758
    2906341857
    2607341859
    2607341958
    2807341659
    2807341956

    la força bruta dels ordinadors …. 5 minuts de phyton i tot llest!

    from datetime import datetime
    from datetime import timedelta
    now = datetime.now()
    trobats = 0
    atrobar=int(input(“Claudi, quants en vols trobar? “))
    dt = now.strftime(“%d%m%y%H%M”)
    print(“comptem a partir d’ara: “,dt)
    while trobats < atrobar:
    now = now + timedelta(minutes=1)
    dt = now.strftime("%d%m%y%H%M")
    if "0" in dt and "1" in dt and "2" in dt and "3" in dt and "4" in dt and "5" in dt and "6" in dt and "7" in dt and "8" in dt and "9" in dt:
    print(dt)
    trobats+=1

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out /  Canvia )

Google photo

Esteu comentant fent servir el compte Google. Log Out /  Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out /  Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out /  Canvia )

S'està connectant a %s

%d bloggers like this: