Introducción:
En casa tenemos un reloj que marca la cantidad indicada a cada hora, pero también marca una vez cada media hora. Entonces, desde las 0:01 hasta las 12:00, incluido en este orden:
1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12
Desafío:
Dado un número entero n
, genera una lista de marcos de tiempo en los que las huelgas totales son iguales n
. Además, siempre comience al menos 1 minuto antes de este período de tiempo y termine al menos 1 minuto después de este período de tiempo (y como máximo 29 minutos).
Por ejemplo, si la entrada es n=8
, la salida podría ser:
[00:59-03:01, 01:29-03:31, 02:59-04:01, 05:29-06:31, 06:29-07:01, 06:59-07:31, 07:59-08:01]
Para el cual estos marcos de tiempo tienen las siguientes sumas, todas iguales 8
:
[1+1+2+1+3, 1+2+1+3+1, 3+1+4, 1+6+1, 1+7, 7+1, 8]
Reglas de desafío:
- La salida es flexible. Puede generar como objetos de tiempo (o fecha / fecha y hora), marcas de tiempo, cadenas (con o sin ceros a la izquierda), decimales con
.29
/.31
/.59
/.01
(es decir, en0.29-3.01
lugar de00:29-03:01
), etc. Siempre que esté claro, es antes y después del marco de tiempo .
Además, puede elegir la cantidad usted mismo. En todos mis ejemplos uso 1 minuto, pero también puede elegir 5 minutos, 15 minutos, etc. Esto también significa que puede usar.4
/.6
/.9
/.1
(es decir, en0.4-3.1
lugar de00:24-03:06
) por ejemplo. La lista también es flexible. Puede ser una lista / colección, matriz, cadena separada por delimitador, impresión por línea en STDOUT, etc.
Indique qué opción de salida ha realizado.Nota: No está permitido emitir las sumas de los marcos de tiempo como se indicó anteriormente, esto solo se menciona como aclaración. Debe generar los marcos temporales, incluso un poco antes y después. - Las huelgas se envuelven de
12:00
a00:30
. Entoncesn=14
, si , dos de los marcos de tiempo son11:29-00:31
y11:59-01:01
. - La entrada estará en el rango
1 <= n <= 90
, donde 90 es la suma total de todos los golpes posibles. - Los plazos que devuelva pueden estar en cualquier orden.
Reglas generales:
- Este es el código de golf , por lo que la respuesta más corta en bytes gana.
No permita que los lenguajes de código de golf lo desalienten de publicar respuestas con idiomas que no sean de código. Trate de encontrar una respuesta lo más breve posible para 'cualquier' lenguaje de programación. - Se aplican reglas estándar para su respuesta, por lo que puede utilizar STDIN / STDOUT, funciones / método con los parámetros adecuados y programas completos de tipo retorno. Tu llamada.
- Las lagunas predeterminadas están prohibidas.
- Si es posible, agregue un enlace con una prueba para su código.
- Además, agregue una explicación si es necesario.
Casos de prueba:
(todo usando 1 minuto antes / después de los marcos de tiempo y ceros iniciales)
Input: 8
Ouput:
[00:59-03:01, 01:29-03:31, 02:59-04:01, 05:29-06:31, 06:29-07:01, 06:59-07:31, 07:59-08:01]
Input: 14
Output:
[00:29-04:01, 00:59-04:31, 02:59-05:01, 04:29-06:31, 05:59-07:01, 11:29-00:31, 11:59-01:01]
Input: 90
Output:
[00:29-00:01, 00:59-00:31, 01:29-01:01, 01:59-01:31, 02:29-02:01, 02:59-02:31, 03:29-03:01, 03:59-03:31, 04:29-04:01, 04:59-04:31, 05:29-05:01, 05:59-05:31, 06:29-06:01, 06:59-06:31, 07:29-07:01, 07:59-07:31, 08:29-08:01, 08:59-08:31, 09:29-09:01, 09:59-09:31, 10:29-10:01, 10:59-10:31, 11:29-11:01, 11:59-11:31]
Input: 1
Output:
[00:29-00:31, 00:59-01:01, 01:29-01:31, 02:29-02:31, 03:29-03:31, 04:29-04:31, 05:29-05:31, 06:29-06:31, 07:29-07:31, 08:29-08:31, 09:29-09:31, 10:29-10:31, 11:29-11:31]
Input: 2
Output:
[00:29-01:01, 00:59-01:31, 01:59-02:01]
.4
/ .6
/.9
/ .1
está permitido (son 6 minutos como has dicho: :24
/ :36
/ :54
/ :06
).