Recientemente estaba sumando las edades de mí y mi esposa e hijos y me di cuenta de que en algún momento en un futuro no muy lejano, nuestras edades sumarán exactamente 100 años.
Reto
Para una entrada que consta de una edad combinada (total) y una lista de fechas de nacimiento, indique la fecha en que las edades combinadas se suman al total dado.
- La edad combinada de entrada (en años) será un número entero positivo
- La lista de entrada de fechas de nacimiento será una lista (cualquier formato que sea conveniente para su idioma) de fechas que deben contener una representación numérica de Día, Mes y Año. Número de días desde que una época específica no es aceptable. Puede suponer que la lista de fechas de entrada está ordenada en orden cronológico.
- La salida será una sola fecha en el mismo formato que las fechas de entrada
- A los efectos de la edad combinada, 1 año se considera exactamente 365,25 días.
- Para algunas entradas, será imposible encontrar una fecha después de todas las fechas de nacimiento cuando todas sumen la edad combinada. Por ejemplo, considere dos fechas de nacimiento separadas por 20 años, pero queremos una combinación de 10 años. En ese caso, la salida sería el décimo cumpleaños de la fecha de nacimiento más antigua. En otras palabras, las edades individuales se consideran 0 para todas las fechas anteriores a la fecha de nacimiento de ese individuo.
- La salida será la primera fecha en que las edades combinadas sumen al menos la edad de entrada
- Puede usar funciones integradas de fecha y hora
- Debe admitir fechas que se remontan a 1970/01/01.
Ejemplos
Aquí estoy dando todas las fechas en formato AAAA / MM / DD, pero puede elegir el formato que desee.
Input Output
10 2000/01/01 2010/01/01
100 1975/03/05,1978/07/23,2008/11/12,2012/12/20 2018/11/22
100 1975/03/06,1978/07/23,2008/11/12,2012/12/20 2018/11/23
100 1975/03/09,1978/07/23,2008/11/12,2012/12/20 2018/11/23
100 1975/03/10,1978/07/23,2008/11/12,2012/12/20 2018/11/24
3 1990/08/01,1995/07/02 1993/08/01
50 1975/03/05,1978/07/23,2008/11/12,2012/12/20 2001/11/13
Tenga en cuenta que en los últimos dos ejemplos, la fecha de salida se encuentra dentro del rango de fechas de entrada, según la regla 5.