Wir haben eine Herausforderung , Ihre eigene Punktzahl auszugeben , aber es sieht so aus, als ob alle Antworten die Ausgabe nur hart codieren, und das ist langweilig 1 . Stellen wir uns also einer neuen Herausforderung. Ihr Programm muss Ausgabe seine eigene Länge in Bytes , gefolgt von der Zeichenfolge " bytes"
, sondern um fest einprogrammierte Lösungen zu verhindern , wenn wir seine Größe zu reduzieren , indem jeden ein Byte, das neue Programm muss auch ausgegeben es ist neu Byteanzahl, noch gefolgt von " bytes"
. Bei der Ausgabe muss nicht zwischen Groß- und Kleinschreibung unterschieden werden. Sie können auch eine abschließende Newline ausgeben.
Ihre Antworten werden in Bytes bewertet, wobei weniger Bytes besser sind.
1: Ich mag einige der Antworten dort.
quelle
:(
1 bytes
ist eine technisch falsche Grammatik, aber wenn Sprachen keine eingebaute Zeichenkette haben, um die Zeichenkette" Bytes "in <= 2 Bytes auszugeben, wird das Programm länger als 3 Bytes sein, also nicht egal "- es ist sowieso egal.Antworten:
Rückhand ,
40 3629 BytesProbieren Sie es online! Nachprüfung!
Verdoppeln Sie im Zweifelsfall alles. Dies nutzt die Fähigkeit von Backhand, mehr als einen Schritt gleichzeitig zu bewegen, um die Redundanz zu implementieren. Die nicht druckbaren Dateien haben alle den Bytewert 28.
Erläuterung:
Nicht bestrahltes Programm:
Bestrahltes Programm:
Wenn ein Zeichen gelöscht wird, wird jedes nachfolgende Zeichen nach unten verschoben.
Anstatt zum zu springen
]
, reflektiert es jedoch das Ende des Programms und landetO
stattdessen auf dem .quelle
Runenverzauberungen , 47 Bytes
Probieren Sie es online!
Das ist mehr oder weniger ein Port meiner Geigerzähler- Antwort, aber mit unterschiedlicher Ausgabe (das ist selbst ein Port einer Klein-Antwort).
>>yyLL
ist erforderlich, damit Runic (mindestens) eine IP generiert, zwei IPS zusammenführt und nach links reflektiert, sodass alle Variationen zu einer einzigen IP führen, die sich nach links bewegt. Könnte durch ersetzt werdenyy<<
, speichert aber keine Bytes.Die Reflektoren auf der rechten Seite zwingen die IP zur unteren linken Zeichenfolge, sodass die IP durch Entfernen der rechten oberen Zeichenfolge in die rechte obere Zeichenfolge verschoben werden kann. Durch Entfernen eines Bytes an einer anderen Stelle in der oberen Zeile wird der obere Reflektor so eingestellt, dass er über dem L liegt (sodass das Programm unten rechts angezeigt wird). Durch das Entfernen eines Bytes am unteren Rand wird dieser Reflektor angepasst (oder entfernt), sodass das letzte Zeichen implizit mit einem Leerzeichen gefüllt wird, sodass die IP von beiden Seiten des oberen rechten Reflektors in die obere rechte Zeichenfolge springen kann.
Die überschüssigen Räume sind jedoch enttäuschend. Alle Versuche, sie zu reduzieren, haben jedoch entweder zu größeren Programmen, Programmen gleicher Größe oder Programmen geführt, die nicht 100% strahlungssicher sind. Sowohl die Antworten von Klein als auch von> <> verwenden Funktionen, die in Runic nicht verfügbar sind.
quelle
> <> ,
4339 BytesProbieren Sie es online! Nachprüfung!
Im unbestrahlten Programm addieren wir
0
zu'
(39) und im bestrahlten Programm überspringen wir die 0 und addieren-1
stattdessen dazu. Wenn etwas aus der oberen Reihe entfernt wird, verschieben wir uns stattdessen in die untere Reihe und geben es einfach aus38 bytes
.quelle
Hexagony , 71 Bytes
Probieren Sie es online! Nachprüfung!
Ich habe viel zu lange versucht, dies in ein Sechseck der Größe 5 zu bringen, aber ich musste mich stattdessen mit einer unterdurchschnittlichen Größe 6 begnügen
:(
.Erweitert:
Ich habe dies anfangs mit der
)
einen Reihe niedriger gemacht, aber es hat sich herausgestellt, dass genau dort die Kluft zwischen Sechsecken der Größe 5 und 6 liegt. Das bedeutet, wenn ein Byte entfernt wird, verschiebt sich die Größe nach unten und ruiniert die Pfade. Ich bin mir auf jeden Fall sicher, dass eine Größe 5 möglich ist.quelle
)
eine Reihe tiefer setzen und danach einfach ein No-Op setzen, damit es ein Sechseck der Größe 6 ist?Klein 000, 41 Bytes
Probieren Sie es online! JoKings Prüfer
Ich denke, diese Antwort ähnelt JoKings> <> Antwort , aber ich lese nicht> <>, daher kann ich nicht sicher sein.
Es gibt hier 4 verschiedene Arten von Byteentfernungen
Ein Byte wird zuvor aus der ersten Zeile entfernt
/
. In diesem Fall wird der Schrägstrich effektiv um eine Stelle nach links verschoben, um ihn in die unterste Zeile umzulenken und zu verhindern, dass der geänderte Teil des Codes ausgeführt wird. Dies veranlasst uns("40 bytes"@
, den ausgegebenen Code auszuführen40 bytes
.Der erste
/
wird aus der ersten Zeile entfernt. In diesem Fall führen wir den Code aus"0"+"4"$" bytes"@
, der ein verschlungener Weg oder Ausdruck ist40 bytes
.Der Zeilenumbruch wird entfernt. Das macht uns aus dem Ende der zweiten Zeile und den resultierenden Code (mit noops entfernt) starten
1("40 bytes"@
, das gerade druckt40 bytes
.Ein Byte aus der letzten Zeile wird entfernt. Dies bewirkt, dass das
1
Ende der ersten Zeile nach links verschoben wird, und verhindert, dass es zum Stapel hinzugefügt wird, wenn die Spitze von abgelenkt wird/
. Der Code"0"+
aus diesem Grund drückt0
statt1
, der Rest des Codes verwandelt sich0
in40 bytes
.Klein 001, 41 Bytes
Probieren Sie es online! JoKings Prüfer
Hier ist eine Antwort unter Verwendung einer anderen Topologie. Es ist die gleiche Größe, aber ich denke, es gibt Raum für Verbesserungen.
quelle