Ich habe kürzlich das Alter von mir und meiner Frau und meinen Kindern addiert und festgestellt, dass sich in nicht allzu ferner Zukunft unser Alter auf genau 100 Jahre summieren wird.
Herausforderung
Geben Sie für eine Eingabe, die aus einem kombinierten (Gesamt-) Alter und einer Liste von Geburtsdaten besteht, das Datum aus, an dem sich alle kombinierten Alter zur angegebenen Summe addieren.
- Das eingegebene kombinierte Alter (in Jahren) ist eine positive ganze Zahl
- Die eingegebene Liste der Geburtsdaten ist eine Liste (unabhängig vom für Ihre Sprache geeigneten Format) der Daten, die eine numerische Darstellung von Tag, Monat und Jahr enthalten muss. Anzahl der Tage seit einer bestimmten Epoche ist nicht akzeptabel. Sie können davon ausgehen, dass die Liste der Eingabedaten in chronologischer Reihenfolge sortiert ist.
- Die Ausgabe erfolgt als einzelnes Datum im selben Format wie die Eingabedaten
- Für die Zwecke des kombinierten Alters gilt 1 Jahr als genau 365,25 Tage
- Bei einigen Eingaben ist es nicht möglich, ein Datum nach allen Geburtsdaten zu finden, wenn sich alle zum kombinierten Alter addieren. Nehmen wir zum Beispiel zwei Geburtsdaten, die 20 Jahre auseinander liegen, aber wir wollen eine Kombination von 10 Jahren. In diesem Fall wäre die Ausgabe der 10. Geburtstag des älteren Geburtsdatums. Mit anderen Worten, das individuelle Alter wird für alle Daten vor dem Geburtsdatum dieser Person als 0 betrachtet
- Die Ausgabe ist das erste Datum, an dem das kombinierte Alter mindestens dem eingegebenen Alter entspricht
- Sie können integrierte Datums- / Uhrzeitfunktionen verwenden
- Sie müssen Daten unterstützen, die bis zum 01.01.1970 zurückreichen.
Beispiele
Hier gebe ich alle Daten im Format JJJJ / MM / TT an, aber Sie können jedes beliebige Format angeben.
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
Beachten Sie, dass in den letzten beiden Beispielen das Ausgabedatum gemäß Regel 5 im Bereich der Eingabedaten liegt.