Geben Sie bei einer Ganzzahl einen Wahrheitswert aus , wenn dieser um 180 ° gedreht ist, oder einen anderen falschen Wert.
0
, 1
und 8
haben Rotationssymmetrie. 6
wird 9
und umgekehrt.
Folge von Zahlen, die wahrheitsgemäße Ergebnisse liefern: OEIS A000787
0, 1, 8, 11, 69, 88, 96, 101, 111, 181, 609, 619, 689, 808, 818, 888, 906, 916, 986, 1001, 1111, 1691, 1881, 1961, 6009, 6119, 6699, 6889, 6969, 8008, 8118, 8698, 8888, 8968, 9006, 9116, 9696, 9886, 9966, 10001, 10101, 10801, 11011, 11111, 11811, 16091, ...
Diese Frage wird von meinem eigenen Ruf bei der Einlieferung inspiriert: 6009
.
code-golf
number
sequence
decision-problem
code-golf
string
parsing
c
code-golf
sorting
integer
code-golf
number
sequence
rational-numbers
graphical-output
atomic-code-golf
assembly
box-256
code-golf
geometry
tips
python
code-golf
number
sequence
arithmetic
number-theory
code-golf
ascii-art
kolmogorov-complexity
geometry
code-golf
graphical-output
code-golf
math
code-golf
grid
cellular-automata
game-of-life
code-golf
string
subsequence
code-golf
arithmetic
rational-numbers
code-golf
tips
dc
code-golf
ascii-art
kolmogorov-complexity
date
code-golf
string
primes
code-golf
string
natural-language
conversion
code-golf
sequence
code-golf
number-theory
primes
base-conversion
code-golf
math
primes
base-conversion
code-golf
ascii-art
fractal
code-golf
matrix
code-golf
math
tips
geometry
python
string
code-challenge
keyboard
code-golf
graphical-output
code-golf
string
code-golf
number
sequence
cops-and-robbers
number
sequence
cops-and-robbers
mbomb007
quelle
quelle
raw_input
eine Ganzzahl eingeben, wird diese im Hintergrund zu einer Zeichenfolge. Das ist gut.Antworten:
05AB1E ,
22161514 BytesCode:
Probieren Sie es online!
Vorheriger Code:
Um herauszufinden , ob der String rotationssymmetrisch ist, brauchen wir nur zu transkribieren
69
mit96
umgekehrter Zeichenfolge und prüfen , ob sie gleich sind. Das andere , was wir wissen müssen , ist , wenn die Zahl nur die Ziffern enthält0
,1
,8
,6
und9
. Genau das werden wir tun:Der
„vd•
Teil konvertiert die Zeichenfolge tatsächlichvd
von der Basis 190 zur Basis 10 . Sie können dies ausprobieren hier .Verwendet die CP-1252- Codierung. Probieren Sie es online!
quelle
Python 2, 50 Bytes
Die Methode
'01xxxx9x86'.find
setzt ein Ziffernzeichen auf die umgedrehte Zahl, wobei jede nicht umdrehbare Ziffer angegeben wird-1
. Diese Funktion wird auf die umgekehrte Zahlenfolge abgebildet, wodurch eine Liste von Ziffern erstellt wird.Dies wird mit dem
[1::3]
Trick in eine Zeichenfolge konvertiert, mit der Ausnahme, dass dies stattdessen umgekehrt wird[-2::-3]
(dank Dennis, der 4 Bytes spart) und mit der ursprünglichen Zeichenfolge verglichen wird. Alle-1
Zeichen aus nicht umklappbaren Ziffern richten die Konvertierung falsch aus, sodass sie fehlschlägt.56 Bytes:
Überprüft, ob die umgekehrte Zahlenfolge mit den umgekehrten Ersetzungen identisch ist. Ziffern, die nicht gewechselt werden können, werden durch ersetzt,
'x'
um immer die falsche Antwort zu geben.Die Ersetzung erfolgt mit
translate
einer Zeichenfolge von 256 Zeichen, wobei die entsprechenden ASCII-Werte ersetzt werden. Es sind nur die 10 Werte48
von57
Bedeutung, aber ich habe auf Länge 16 aufgefüllt, damit die Gesamtlänge 256 beträgt. Ich frage mich, ob es einen kürzeren Weg gibt.Einige andere Ansätze (Längen 59, 60, 60):
quelle
Ruby,
5446 BytesIch weiß nicht, ist anonymen Funktionen so erlaubt oder nicht
Grundsätzlich gleiche Idee wie Python2 Antwort. Wenn die Eingabe keine Ganzzahl ist, verhalte dich schlecht (dh
aba
ergibttrue
)quelle
JavaScript (ES6), 56 Byte
quelle
split``
. Siehe Ein mächtigeres Array-LiteralPerl,
2926 BytesBeinhaltet +1 für
-p
Führen Sie mit der Eingabe auf STDIN aus:
rotation.pl
:quelle
Jelly,
16-15BytesProbieren Sie es online!
Wie es funktioniert
quelle
Retina,
5749 Bytes8 Bytes gespart dank @Martin Büttner .
1610880191
->61088019
->108801
->0880
->88
-> (leer).1
wenn nur0
,1
,8
, oder (leer) verlassen wird.0
sonst zurück.Probieren Sie es online!
quelle
sh,
4033 BytesEingabe über Kommandozeilenargument, Ausgabe über Exit-Code. Generiere alle Testfälle:
quelle
TSQL, 122 Bytes
Ich bin neu im Codieren von Golf, daher weiß ich nicht genau, wie ich die Zeichen zählen soll. Zählen Sie es hier als 1, da in diesem Fall die Nummer 8 verwendet wird
Dies gibt 1 zurück, wenn der umgekehrte Wert übereinstimmt, und nichts, wenn er nicht übereinstimmt:
Für Menschen lesbar:
quelle
Retina ,
403833 BytesProbieren Sie es online!
Erläuterung
Dies verwendet einen völlig anderen Ansatz als die andere Retina-Antwort. Anstatt alle symmetrischen Teile zu entfernen, führen wir einfach die Transformation durch, indem wir die Zeichenfolge umkehren
6
und9
s vertauschen und dann auf Gleichheit vergleichen. Um sicherzustellen, dass keine unsymmetrischen Ziffern angezeigt werden, werden sie auch in9
s in einer Hälfte umgewandelt.Wir duplizieren die Eingabe, indem wir das Ende der Zeichenfolge abgleichen und
;
gefolgt von der gesamten Eingabe einfügen .Dies führt eine Zeichentransliteration nur in der zweiten Hälfte durch, indem es mit übereinstimmt
;.+
. Die beiden Transliterationssätze erweitern sich auf:Denn
2-7
bezeichnet einen Bereich und der Zielsatz wird mit dem letzten Zeichen aufgefüllt, um der Länge des Quellensatzes zu entsprechen. Daher wechselt die Bühne6
und9
verwandelt sich auch alle23457
in9
s.+
Entfernen Sie wiederholt ( ) ein Paar identischer Zeichen um das;
. Dies wird entweder fortgesetzt, bis nur noch das;
übrig ist oder bis die beiden Zeichen um das;
nicht mehr identisch sind, was bedeutet, dass die Zeichenfolgen nicht umgekehrt sind.Überprüfen Sie, ob das erste Zeichen
;
und drucken0
oder1
entsprechend.quelle
Pyth - 21 Bytes
Test Suite .
quelle
X_zK
macht den gleichen Job wieX_z_KK
. Der dritte Parameter ist optional.Pyth, 17 Bytes
Testen Sie es im Pyth-Compiler .
Wie es funktioniert
quelle
Visual Basic für Applikationen,
150111 BytesIn der Konsole oder als UDF verwendbar.
Verbessert, indem implizite Typkonvertierungen ausgenutzt werden und drei Schritte anstelle von zwei Schritten auf jeder Seite der Gleichung ausgetauscht werden. Count Includes
Function
undEnd Function
Anweisungen.quelle
GNU sed, 84 Bytes
(einschließlich +1 für
-r
Flagge)Wenn die Linie mit einer Drehung des Anfangszeichens endet, kürzen Sie beide Enden um eins. Wiederholen, bis es keine Übereinstimmung mehr gibt. Berücksichtigen Sie ein einzelnes symmetrisches Zeichen. Wenn dann noch etwas übrig ist, war die Eingabe nicht symmetrisch, und wir geben false zurück. Andernfalls geben Sie true zurück.
quelle
C 82 Bytes
Erweitert
Erläuterung
Wir kehren die Ziffern der
x
Modulo-10-Arithmetik um und ersetzen dabei 6 und 9 durch ihre Reflexionen. Wir ersetzen die rotationsasymmetrischen Ziffern durch Nullen (beachten Sie, dass wir symmetrische Fünfer und / oder Zweier behandeln können, indem wir einfach die Ersetzungstabelle änderns
). Wenn die neue Nummer der ursprünglichen entspricht (in 'z' gespeichert), ist sie rotationssymmetrisch.Testprogramm
Dies gibt die Liste der in der Frage angegebenen symmetrischen Zahlen aus.
quelle
MATL,
252122 BytesProbieren Sie es online!
Erläuterung
quelle
Im Ernst, 23 Bytes
Probieren Sie es online!
Dies ist im Wesentlichen eine Portierung der Python 2-Lösung von xnor .
Erläuterung:
quelle
Kotlin, 69 Bytes
Das nimmt die Zahl, konvertiert sie in eine Zeichenfolge, dreht sie und vergleicht sie dann mit dem Original als Zeichenfolge für Gleichheit. Nicht drehbare Ziffern werden einfach in konvertiert
0
Teste es hier!
quelle