Einführung:
Zu Hause haben wir eine Uhr, die zu jeder vollen Stunde den angegebenen Wert anzeigt, aber auch einmal zu jeder halben Stunde. Also von 0:01 bis einschließlich 12:00 trifft es in dieser Reihenfolge zu:
1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6, 1, 7, 1, 8, 1, 9, 1, 10, 1, 11, 1, 12
Herausforderung:
Geben Sie bei einer Ganzzahl n
eine Liste von Zeitrahmen aus, in denen die Gesamtzahl der Treffer gleich ist n
. Beginnen Sie außerdem immer mindestens 1 Minute vor diesem Zeitrahmen und enden Sie mindestens 1 Minute nach diesem Zeitrahmen (und höchstens 29 Minuten).
Wenn die Eingabe beispielsweise lautet n=8
, könnte die Ausgabe wie folgt lauten:
[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]
Für welche diese Zeiträume die folgenden Summen haben, sind alle gleich 8
:
[1+1+2+1+3, 1+2+1+3+1, 3+1+4, 1+6+1, 1+7, 7+1, 8]
Herausforderungsregeln:
- Die Ausgabe ist flexibel. Sie können als Time (oder Date / DateTime) -Objekte Zeitstempel, Zeichenfolgen (mit oder ohne führende Nullen), Dezimalstellen mit
.29
/.31
/.59
/.01
(dh0.29-3.01
anstelle von00:29-03:01
) usw. ausgeben . Solange klar ist, ist dies vor und nach dem Zeitrahmen .
Darüber hinaus können Sie den Betrag selbst bestimmen. In allen meinen Beispielen I 1 Minute, aber Sie können auch nur 5 Minuten, 15 Minuten wählen, usw. Das bedeutet auch , können Sie mit.4
/.6
/.9
/.1
(dh0.4-3.1
statt00:24-03:06
) zum Beispiel. Die Liste ist auch flexibel. Kann eine Liste / Sammlung, ein Array, eine durch Trennzeichen getrennte Zeichenfolge sein und zeilenweise nach STDOUT usw. gedruckt werden.
Bitte geben Sie an, welche Ausgabewahl Sie getroffen haben.Hinweis: Es ist nicht erlaubt, die Summen der Zeitrahmen wie oben auszugeben, dies wird nur zur Verdeutlichung erwähnt. Sie müssen die Zeitrahmen ausgeben, auch kurz davor und danach. - Die Streiks drehen sich von
12:00
bis00:30
. Also, wennn=14
zwei der Zeitrahmen11:29-00:31
und sind11:59-01:01
. - Die Eingabe erfolgt in dem Bereich
1 <= n <= 90
, in dem 90 die Gesamtsumme aller möglichen Treffer ist. - Die von Ihnen zurückgegebenen Fristen können in beliebiger Reihenfolge angegeben werden.
Allgemeine Regeln:
- Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes.
Lassen Sie sich von Code-Golf-Sprachen nicht davon abhalten, Antworten mit Nicht-Codegolf-Sprachen zu veröffentlichen. Versuchen Sie, für jede Programmiersprache eine möglichst kurze Antwort zu finden. - Für Ihre Antwort gelten Standardregeln. Daher dürfen Sie STDIN / STDOUT, Funktionen / Methoden mit den richtigen Parametern und vollständige Programme vom Rückgabetyp verwenden. Ihr Anruf.
- Standardlücken sind verboten.
- Fügen Sie nach Möglichkeit einen Link mit einem Test für Ihren Code hinzu.
- Fügen Sie ggf. auch eine Erklärung hinzu.
Testfälle:
(alle mit 1 Minute vor / nach den Zeitrahmen und führenden Nullen)
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
darf (wobei 6 Minuten wie Sie haben gesagt: :24
/ :36
/ :54
/ :06
).