Viele Digitaluhren zeigen die Uhrzeit mit vereinfachten Ziffern an, die aus nur sieben verschiedenen Leuchten bestehen, die entweder an oder aus sind:
Bei horizontaler Spiegelung 018ändern sich die Ziffern nicht, da sie symmetrisch sind. Die Ziffern auch, 2und 5erhalten getauscht, 2immer 5und umgekehrt. Alle anderen Ziffern werden ungültig, wenn sie gespiegelt werden.
Somit gibt es bei einer 24-Stunden-Digitaluhr viele Uhrablesungen, so dass das gespiegelte Bild der Digitalanzeige auch eine gültige Uhrablesung ist. Ihre Aufgabe ist es, alle diese Taktwerte zusammen mit den gespiegelten Werten auszugeben.
Zum Beispiel 22:21wird 15:55, und 00:15wird 21:00. Auf der anderen Seite sind 12:34oder 16:27nicht mehr gültig, wenn gespiegelt (Ziffern 34679werden ungültig), und weder sind 22:22noch 18:21, weil es nur 24 Stunden am Tag und 60 Minuten in einer Stunde gibt, würde keine vernünftige Uhr 55:55oder anzeigen 12:81.
Aufgabe
Schreiben Sie ein Programm oder eine Funktion, die keine Eingabe akzeptiert und alle gültigen Paare in aufsteigender Reihenfolge ausgibt, wie unten gezeigt:
00:00 - 00:00
00:01 - 10:00
00:05 - 20:00
00:10 - 01:00
00:11 - 11:00
00:15 - 21:00
00:20 - 05:00
00:21 - 15:00
00:50 - 02:00
00:51 - 12:00
00:55 - 22:00
01:00 - 00:10
01:01 - 10:10
01:05 - 20:10
01:10 - 01:10
01:11 - 11:10
01:15 - 21:10
01:20 - 05:10
01:21 - 15:10
01:50 - 02:10
01:51 - 12:10
01:55 - 22:10
02:00 - 00:50
02:01 - 10:50
02:05 - 20:50
02:10 - 01:50
02:11 - 11:50
02:15 - 21:50
02:20 - 05:50
02:21 - 15:50
02:50 - 02:50
02:51 - 12:50
02:55 - 22:50
05:00 - 00:20
05:01 - 10:20
05:05 - 20:20
05:10 - 01:20
05:11 - 11:20
05:15 - 21:20
05:20 - 05:20
05:21 - 15:20
05:50 - 02:20
05:51 - 12:20
05:55 - 22:20
10:00 - 00:01
10:01 - 10:01
10:05 - 20:01
10:10 - 01:01
10:11 - 11:01
10:15 - 21:01
10:20 - 05:01
10:21 - 15:01
10:50 - 02:01
10:51 - 12:01
10:55 - 22:01
11:00 - 00:11
11:01 - 10:11
11:05 - 20:11
11:10 - 01:11
11:11 - 11:11
11:15 - 21:11
11:20 - 05:11
11:21 - 15:11
11:50 - 02:11
11:51 - 12:11
11:55 - 22:11
12:00 - 00:51
12:01 - 10:51
12:05 - 20:51
12:10 - 01:51
12:11 - 11:51
12:15 - 21:51
12:20 - 05:51
12:21 - 15:51
12:50 - 02:51
12:51 - 12:51
12:55 - 22:51
15:00 - 00:21
15:01 - 10:21
15:05 - 20:21
15:10 - 01:21
15:11 - 11:21
15:15 - 21:21
15:20 - 05:21
15:21 - 15:21
15:50 - 02:21
15:51 - 12:21
15:55 - 22:21
20:00 - 00:05
20:01 - 10:05
20:05 - 20:05
20:10 - 01:05
20:11 - 11:05
20:15 - 21:05
20:20 - 05:05
20:21 - 15:05
20:50 - 02:05
20:51 - 12:05
20:55 - 22:05
21:00 - 00:15
21:01 - 10:15
21:05 - 20:15
21:10 - 01:15
21:11 - 11:15
21:15 - 21:15
21:20 - 05:15
21:21 - 15:15
21:50 - 02:15
21:51 - 12:15
21:55 - 22:15
22:00 - 00:55
22:01 - 10:55
22:05 - 20:55
22:10 - 01:55
22:11 - 11:55
22:15 - 21:55
22:20 - 05:55
22:21 - 15:55
22:50 - 02:55
22:51 - 12:55
22:55 - 22:55
Ein abschließender oder ein führender Zeilenumbruch ist zulässig. Ein paar Leerzeichen direkt vor einem Zeilenumbruch sind ebenfalls zulässig. Die Zeiten müssen formatiert hh:mmund bei Bedarf mit Nullen aufgefüllt sein.
Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes. Standardlücken sind wie üblich nicht zulässig.
1nicht exakt mit ihrem Spiegelbild identisch, da Sie erkennen können, ob die am weitesten rechts oder links liegenden Segmente zur Bildung der vertikalen "Linie" verwendet werden, aus der sich die Ziffer zusammensetzt. Ich verstehe, dass wir sie hier als identisch betrachten.
1zentriert werden könnte.

Stringein Array vonChar. Ist es akzeptabel, wenn meine Antwort eine Liste von enthältChar? Die Typen sehen im ungedruckten Zustand identisch aus.