Code-Bowling
Sie wurden von Brunswick Bowling beauftragt, ein einfaches Programm zu erstellen, um den Text Code Bowling
auf ihren Monitoren auszugeben . Dieses Unternehmen lohnt sich ein hübsches Sümmchen und Sie denken , Sie können sie für ganz die beschwindeln Bit Geld .
Aus der Stellenbeschreibung geht eindeutig hervor, dass sie auf der Grundlage von Bewertungen zahlen, und Sie sind ziemlich sicher, dass Sie ihr Bewertungssystem zu Ihrem Vorteil manipulieren und von diesen Mitarbeitern den größtmöglichen Gehaltsscheck erhalten können. Dazu müssen Sie so viel Code packen wie möglich in Ihr Programm / Ihre Funktion , auch wenn das Bewertungssystem so konzipiert ist, dass Sie dies nicht tun können.
Holen Sie Ihre Sparschweine raus, lassen Sie uns Code!
Herausforderung
Die Herausforderung besteht darin, den Text einfach so auszugeben Code Bowling
, wie er hier geschrieben ist, mit der höchstmöglichen Punktzahl. (Siehe Abschnitt: Punktesystem unten)
Führende und nachfolgende neue Zeilen (Zeilenumbrüche) sind zulässig.
Ihr Code kann ein gesamtes Programm oder nur eine ausführbare Funktion sein.
Regeln
Obligatorisch: Bei dieser Herausforderung wird Code-Bowling verwendet: Common Rules, Revision 1.0.0 ; Siehe Meta für Details.
Zeichen: Byte-Verhältnis
Beim Code-Bowling wird die Anzahl der Zeichen der Anzahl der Bytes vorgezogen. Der offensichtliche Grund dafür ist, dass Mehrbyte-Unicode-Zeichen (z. B. 🁴) anstelle von Einzelbyte-Unicode-Zeichen verwendet werden können, um die Byteanzahl zu erhöhen, und um zu klären, wer die meisten Variablen mit Hochbyte-Unicode-Zeichen umbenennt als wer am strategischsten sinnvollen komplexen Code erstellt.Variablen- / Funktions- / Objektnamen
Alle Variablennamen (oder Objektzeiger, Funktionsnamen usw.) sollten 1 Zeichen lang sein. Die einzige akzeptable Zeit, um zweistellige Variablennamen zu verwenden, ist, nachdem alle möglichen zweistelligen Variablen verwendet wurden. Die einzige akzeptable Zeit für die Verwendung von 3-stelligen Variablennamen ist, nachdem alle möglichen 2-stelligen Variablen verwendet wurden. Usw.Nicht verwendeter Code Der
gesamte Code muss verwendet werden. Dies bedeutet, dass das Programm die Aufgabe nicht immer ordnungsgemäß ausführen kann, wenn einzelne Zeichen (oder unterschiedliche Zeichensätze) entfernt werden. Natürlich sollte eine Teilmenge des Programms die Aufgabe nicht alleine ohne den Rest des Programms erledigen können.Kommentare
Kommentare sind für die Anzahl der Zeichen nicht zulässig, es sei denn, sie werden von Ihrem Programm / Ihrer Funktion auf irgendeine Weise verwendet.
Punktesystem:
Pangram Challenge:
Ein Pangram ist ein Satz, der jeden Buchstaben mindestens einmal verwendet. (Der schnelle braune Fuchs springt über den faulen Hund).
Diese Herausforderung Typ wurde entwickelt ein Scoring - Systeme , bei denen eine perfekte pangram die theoretische maximale Punktzahl erreichen würde (auch wenn Sie nicht benötigt jedes Zeichen mindestens einmal zu verwenden.) Zusätzlich mit einem beliebigen Zeichen mehr als einmal wird beginnt eine Vertragsstrafe zahlen. Diese Herausforderung erstreckt sich auch auf mehr als nur die alphabetischen Zeichen.
Bewertungsmetrik:
- Jeder benutzte Charakter erhöht deine Punktzahl um 1.
- Die wiederholte Verwendung eines beliebigen alphanumerischen Zeichens (az, AZ, 0-9) führt zu einem Abzug von 3 Punkten pro Wiederholung (die erste Verwendung führt nicht zu einem Abzug).
- Die wiederholte Verwendung der grundlegenden Interpunktion
([!?.-,":';])
- einschließlich der Klammern - führt zu einem Abzug von 2 Punkten pro Wiederholung.- Die wiederholte Verwendung anderer ASCII-Zeichen
{`~@#$%^&*_+=|\/><}
- einschließlich der geschweiften Klammern - führt zu einem Abzug von 4 Punkten pro Wiederholung.- Die Verwendung von Leerzeichen, Tabulatoren und Zeilenumbrüchen führt zu einem Abzug von 1 Punkt pro Verwendung. Das heißt, sie zählen nicht zur Charaktersumme.
- Charaktere, die oben nicht erwähnt wurden (exotische Charaktere), werden mit 1 Punkt abgezogen. Das heißt, sie zählen nicht zur Charaktersumme.
Bewertungswerkzeug:
Ein automatisiertes Bewertungs-Widget wurde erstellt und kann hier gefunden werden .
Dies ist eine Code-Bowling- Variante. Das Programm mit der höchsten Punktzahl gewinnt! (Da es eine maximale Punktzahl von gibt 94
, wird derjenige als die akzeptierte Antwort markiert, der sie zuerst erreicht (wenn sie erreicht werden kann), obwohl es anderen freisteht, zum Spaß weiter zu antworten.)
quelle
Antworten:
Glypho , 94
Die Quelldatei ist in CP437 codiert .
Probieren Sie es online!
Erläuterung
Glypho ist für solche Herausforderungen sehr nützlich, da es sich überhaupt nicht um die tatsächlich verwendeten Charaktere handelt. Stattdessen wird jeder Block mit 4 Zeichen betrachtet und der verwendete Befehl wird durch das Muster bestimmt, das diese vier Zeichen bilden:
Das heißt, wir können das Problem einfach lösen und dann in jedem Quartett eindeutige Zeichen mit den druckbaren Zeichen und alle wiederholten Zeichen mit einigen der "exotischen" Zeichen einfügen, die von der Wertung ignoriert werden. Glypho ist so ausführlich, dass eine normale handschriftliche Lösung genug eindeutige Zeichen enthält, um alle 94 druckbaren Zeichen darin unterzubringen. Tatsächlich habe ich es bis auf 94 herunter gespielt, damit ich für die Wiederholungen einzigartige exotische Charaktere verwenden konnte (hoffentlich, um es schwieriger zu machen, das Programm zu reduzieren).
Die Kurzform des obigen Programms lautet wie folgt:
Wo jede Zeile eines der Zeichen druckt.
Ich habe dieses Retina-Skript verwendet , um es mit Glypho zu konvertieren
0123
. Danach habe ich nur die Zeichen anstelle der Ziffern eingegeben.Theoretisch ist es möglich, dies weiter zu reduzieren, wenn es jemandem gelungen ist, das Shorthand-Programm herunterzuspielen und dann die Zeichen so zu kombinieren, dass die richtigen Muster angezeigt werden. Ich bin mir jedoch nicht sicher, wie ich beweisen oder widerlegen kann, dass dies möglich ist . Wenn es jemandem gelingt, aus einer Teilmenge meines Programms eine gültige Lösung zu bilden, lassen Sie es mich bitte wissen, damit ich die Antwort löschen kann, bis sie behoben ist. Bis dahin muss ich davon ausgehen, dass dies gültig ist.
quelle
94
die maximale Punktzahl ist. Allen anderen steht es jedoch frei, Antworten zum Spaß einzureichen .Python 3,
828788Vielen Dank an @ JonathanAllan für +1 Punktzahl
Probieren Sie es online!
Nichts Besonderes, nur das Aufteilen und Überspringen von Zeichen. Die Zeichenfolge ist umgekehrt, sodass Sie keine Zeichen entfernen können und die ursprüngliche Zeichenfolge gedruckt wird.
quelle
HIJKLMN...
), außer natürlich für jeden achten Charakter?> <> ,
9294Ja, ich habe es getan!
␑
ist das exotische Zeichen\x11
mit dem Dezimalwert 17. Das Programm wird mit einem Fehler beendet, nachdem das Ergebnis gedruckt wurde (es ist ein Stapel-Unterlauf). Ich musste verwalten, welche Spiegel und Richtungsbefehle ich sorgfältig verwendete, da ich jeden nur einmal verwenden kann.Probieren Sie es online aus
Das Kernprogramm:
Erläuterung:
Schieben Sie die Zeichenfolge
vCoUV␑3`h]Z_X >
(Ausführungs Wraps). Gehe nach unten. Kehre den Stapel um und entferne denv
.Drücken Sie
9
undc
(12). Multipliziere, um108
(l
) zu erhalten. Drücken7
. Drücken Sied
(13), subtrahieren Sie1
, dividieren Sie durch2
, um zu erhalten6
. Setzen Siel
bei (x, y) von (13,6), die unter dem iste
. Ich hätte es auch kürzer machen können, aber das ist länger, so dass ich mehr Platz für ASCII-Zeichen habe.Gehe in eine Schleife. Schieben Sie die Länge des Stapels mit
l
. Wenn größer als 14, wird das Zeichen ausgegeben. Andernfalls wird ein neuer Stapel mit den Top-10-Elementen erstellt. Fügen Sie 15 hinzu, und geben Sie die Ausführung sofort wieder. Dies wird verwendet, um zu verhindern, dass die zusätzlichen Leerzeichen und>
am Ende gedruckt werden, und um die zufällig aussehende Zeichenfolge in die zu druckende Zeichenfolge umzuwandeln. Wiederholen Sie die Schleife.Wenn eine der Zeilen kürzer ist (durch Entfernen eines Zeichens), funktioniert das Programm nicht mehr, entweder weil die vertikalen Teile des Programms nicht mehr ausgerichtet sind oder weil die zu druckende Zeichenfolge nicht mehr korrekt ist. Wenn Sie versuchen, ein Zeichen vor jeder Zeile zu entfernen, ändert sich die Stapeltiefe und die
l
Position des Zeichens , was ebenfalls zu Problemen führt.Fisch
quelle
"
undl
mit einigem Aufwand losgeworden . Als ich 92 traf, war ich mir sicher, dass es einen Weg geben musste, den letzten zu entferneno
. Es war allerdings ein bisschen anstrengend. Sie können anhand des Revisionsverlaufs erkennen.Oktave,
202122252733Das Beste, was ich bisher geschafft habe, ist
Dadurch wird eine anonyme Funktion erstellt
f
, für die keine Eingabe erforderlich ist. Du kannst es nennenf()
. Ich würde sagen, dass das Semikolon am Ende notwendig ist, um das Drucken des Funktionskörpers zu vermeiden.Es ist möglich, dass dies durch Kombinieren von
eval
und verbessert werden kannprintf
, aber ich habe es immer wieder versucht und bin immer wieder gescheitert.Hierbei werden alle Ziffern einmal verwendet, indem die Tatsache erklärt wird, dass Octave eine
mod(x,256)
Operation ausführt, wenn implizit Zahlen in Zeichen konvertiert werden. Dies bedeutet, dass wir negative Zahlen sowie Zahlen außerhalb des normalen32-126
Bereichs verwenden können. Die folgenden Zahlen alle in dem Schreiben zur Folge hat,i
wenn in Zeichen umgewandelt:... -2455 -2199 -1943 ... 105 361 ...
. Anstatt'owling'
am Ende zu verwenden, wird 1 verwendet"nvkhmf"
und hinzugefügt. Dadurch wird ein Vektor von Ganzzahlen erstellt, die implizit in Zeichen konvertiert werden. Stattdessen verwenden1
wir!0
(odernot(false)
. Auch verwenden wir"
statt'
, um zwei Strafpunkte zu vermeiden.Wir müssen den Satz von Zahlen finden, der die niedrigste Punktzahl ergibt. Die Zeichenfolge
Code Bowling
ergibt die folgende Matrix, wenn wir -10 * 256 - 10 * 256 subtrahieren und addieren.So
['',2627 2415 2148 1893 -2528 66 -1169 -1161 2668 105 -146 103]
ergibt sichans = Code Bowling
. Die Herausforderung besteht dann darin, die Zahlen und Zeichen zu finden, die die Punktzahl am meisten reduzieren. Die Verwendung aller Ziffern ist natürlich gut, aber Duplikate sind schlecht. Da alle Ziffern verwendet werden und nicht zweimal verwendet werden, ist dies die bestmögliche Mischung. Auch wir bekommen zu verwenden-
, was zu einem Punkt führt.Man könnte behaupten, dass es auf die unterste Zeile (31 Punkte) reduziert werden kann, aber dann wäre es keine "ausführbare Funktion" mehr und hätte daher eine andere Funktionalität.
quelle
function q();disp(...)
? Mit Ausnahme deri()
, sie sind schön nicht überlappend.cot
inhorzcat
undnf
in der Saite wird die Punktzahl ziemlich drastisch senken. Es könnte allerdings besser sein, wenn ichhorzcat
die Zeichenfolge auf eine andere Weise entferne und erstelle , aber dann kann ich auch keine verwenden+!0
. Um ehrlich zu sein, würde mich das überraschen. Es ist nur 7 Zeichen länger als die aktuelle Antwort und ich bekomme zusätzlich zu den von mir erwähnten eine 7-Byte-Strafe.function
, aber dann dachte ich mir, dass Sie es vielleicht schon probiert haben und ich würde meine Zeit verschwenden (im Gegensatz dazu, meine Zeit sinnvoll für PPCG zu verwenden)QBasic, 34
Dies ist unformatierter Code (yay für Groß- und Kleinschreibung). Sie können es in QB64 oder auf archive.org ausführen (wobei letztere den Code während der Eingabe formatieren). Ich glaube, ich habe es geschafft, alle Regeln einzuhalten.
Das
CLS
ist notwendig: Ohne esC
wird nicht garantiert, dass es in der oberen linken Ecke des Bildschirms gedruckt wird, in der es sich ausrichtetode Bowling
. DasLOcatE
ist notwendig: ohne esode Bowling
wird in der Zeile unten gedrucktC
. Ich glaube nicht, dass es eine Untermenge des Programms gibt (außer Whitespace), die gelöscht werden kann und die gleiche Ausgabe behält.quelle
Parse failed: Syntax error at 3:36: Token(Bowling)
LOCATE 1, 2
, was es getan hatC
27,29+2 Punkte dank @ceilingcat!
quelle
char q<:]
stattchar q[]
undputs(q);%>
stattputs(q);}
+2 points thanks to ...
Haskell , Kerbe
213846472170Probieren Sie es online! Die Idee ist, den Anfang zu erhalten,
C
indem eine Zeichenfolge der Länge 67 konstruiert wird, die alle nicht anderweitig verwendeten Zeichen enthält, und die Länge dieser Zeichenfolge in ein Zeichen konvertiert wird. Ich habe mitputStr$toEnum(length""):"ode B\x6Fwling"
('\x6F'
ist hexadezimal,'\111'
wofür ergibt'o'
) begonnen und alle druckbaren ASCII-Zeichen berechnet, die nicht im Programm enthalten sind:Übrigens bleiben genau 67 druckbare ASCII-Zeichen übrig, die in die Zeichenfolge eingefügt werden können, und
C
selbst, die nicht in der Zeichenfolge enthalten sind, da das Programm dann auf nur reduziert werden kannputStr"Code B\x6Fwling"
.Vorherige Lösung: (21 Punkte)
Definiert eine Funktion,
f
die keine Eingabe akzeptiert und die Zeichenfolge druckt. Probieren Sie es online!quelle
95
in der Zeichenfolge und subtrahieren4621
? (Ich habe im Moment keine Zeit, es selbst zu überprüfen, werde es aber später untersuchen.)JavaScript, 19
Keine sehr hohe Punktzahl.
quelle
z(){var x=alert('Code \nBowling');}
function
vorf
o
wurde nicht verwendetprompt('C\157de B\x6fwlin'+"g")
Jelly , 94
Probieren Sie es online!
105 einzigartige Charaktere, 11 Exoten (
“¹³⁵⁷°⁹⁻”ḄỌ
).Wie?
Bildet die Zeichenfolge aus umgekehrtem 8-Bit-ASCII, wobei jedes Bit mit dem LSB des Unicode-Werts eines Zeichens codiert wird.
quelle
Röda , 33
Probieren Sie es online!
Ich habe versucht, alle Regeln zu befolgen. Es funktioniert, indem Sie zuerst die Zeichenfolge
ode Bowling!
in den Stream schieben und dannC
= 3 * 4 + 57-2 nach vorne einfügen .quelle
Kardinal 20
23 Zeichen ohne Leerzeichen
% #> / NI "CodeB8 ^ o) wl, ing
-3 für wiederholtes "o"
Zeigerpfade:
Schritt 1:
Zeiger erstellt bei% nach rechts
Schritt 2:
Zeiger teilt sich bei # auf, um nach oben, rechts und unten zu gehen (P1, P2, P3)
Schritt 3 :
P1 Rechts gesendet von>
P2 Rechts gehen
P3 Bei 8 auf 3 Schritte warten einstellen
Schritt 4:
P1 Nach unten reflektiert von \. \ geändert in /
P2 In den Druckmodus setzen von "
P3 Warten Sie 2 Ticks um 8
Schritt 5:
P1 Richtung unten
P2 Drucken C
P3 Warten Sie 1 Tick bei 8
Schritt 6:
P1 gesendet von ^
P2 drucken o
P3 beenden warten um fortzufahren, ASCII-Wert von "" (32) abholen von
Schritt 7: P1 Richtung oben
P2 Drucken d
P3 Richtung unten
Schritt 8: P1 Nach rechts reflektiert von \, das in /
P2 geändert wurde. Drucken e
P3 Zeichen mit ASCII-Wert = 32 aus der Operation drucken
Schritt 9:
P1 Wird reflektiert von / und wird geändert zu \
P2 Drucken B
P3 Feldende erreicht und stoppt
Schritt 10:
P1 von I nach unten reflektiert
P2 Erreicht das Feldende und stoppt
Schritt 11:
P1 Reflektiert rechts von /, das zu \ geändert wurde. Änderungen zurück zu /
Schritt 12:
P1 links von N reflektiert
Schritt 13:
P1 nach unten reflektiert von /
Schritt 14:
P1 Stellen Sie den Druckmodus auf "
Schritt 15:
P1 Drucken Sie o
Schritt 16:
P1 Drucken w
Schritt 17:
P1 Drucken l
Schritt 18:
P1 Drucken i
Schritt 19:
P1 Drucken Sie n
Schritt 20:
P1 Drucken g
Schritt 21:
P1 Erreicht das Feldende und stoppt.
Probieren Sie es online
quelle
C 73
Vielen Dank an @Laikoni!
Probieren Sie es online!
C
313335Danke an @ceilingcat und @DLosc für zwei weitere Punkte und danke an @ Ørjan Johansen für zwei weitere Punkte!
Probieren Sie es online!
quelle
8-
und noch gültigen Code haben.0xA-4+8
sollte aber funktionieren.0xA+32/8
funktionieren (Ohne dass etwas entfernbar ist.)+32
,+3
,+2
,+3/8
,+2/8
,/8
oder+8
erzeugt den richtigen Ausgang. Vielen Dank!0xD+4*8/32
. Nein warte, das würde sich verkürzen, oder0xD+4/3
?Batch, 19 Zeichen
Beginnend mit Windows Vista
TMP
beginnt mitC:\Users\
und ist daher%TMP:~5,1%
eine ausführliche Schreibweisee
, obwohl eine doppelte%
Strafe bei -4 erforderlich ist .quelle
Gehirnfick: -204
Naja, schreckliche Punktzahl, aber es hat Spaß gemacht zu schreiben.
quelle
Java 8,
235131718192021247778 Punkte+53 Punkte (24 → 77) dank @Laikoni .
104 Zeichen lang
- wiederholtes ALNUM: -15 (
helng
)- wiederholte Interpunktion: -10 (
"()""
)- wiederholte andere ASCII-Zeichen: keine
- Whitespace-Zeichen: -1
SCORE: 78
Probieren Sie es online aus.
Alte 24-Byte- Antwort:
30 Zeichen lang
- wiederholtes ALNUM: -3 (
1
)- wiederholte Interpunktion: -2 (
"
)- wiederholte andere ASCII-Zeichen: keine
- Leerzeichen: -1
SCORE: 24
Probieren Sie es online aus.
quelle
Object x(){return"C\157de Bowling";}
ein paar Stunden schon 17 Punkte ausgedacht . Anscheinend habe ich es in meinem Beitrag nicht bearbeitet / gespeichert.: S Was das Lambda betrifft, verwende ich Java 7, das nicht funktioniert habe noch keine Lambdas. Ich könnte jedoch eine Java 8-Antwort mit Lambda hinzufügen.7
. (Aber vergessen Sie nicht die Verkettung.),,
durch ersetzen,;
für eine andere +1. Lustig, wie der String mit allen verfügbaren druckbaren ASCII-Zeichen, die übrig geblieben sind, GENAU 97 Zeichen für den Zeichencode enthältC
. :)gestapelt , 42
Probieren Sie es online!
Lässt die Ausgabe auf dem Stapel. Hier ist die Aufteilung:
Ich könnte es wahrscheinlich höher machen, aber es ist bei 42 soo ....
Ein anderer Anwärter, 40:
Ich habe dieses Skript verwendet, um es zu bewerten.
quelle
böse , -81
Besser als Brainfuck!
Erläuterung
Eingereicht, weil niemand etwas im Bösen tut, aber es macht Spaß.
Ergebnis:
Länge = 63
Probieren Sie es online!
BEARBEITEN: TiO scheint falsch mit dem Erstellen und Löschen neuer Radzellen umzugehen - ich habe einen Fehlerbericht zu diesem Thema eingereicht. Es wird dort nicht richtig funktionieren, aber ich habe es mit meinem eigenen Dolmetscher ausgeführt und es funktioniert und Sie können mir vertrauen, damit ich mir keine Sorgen machen kann;)
quelle
Perl:
29, 33Ergebnis:
quelle
05AB1E , 94 Punkte
Probieren Sie es online!
Grundsätzlich konvertiert (das binäre ASCII von Code Bowling):
In eine Zeichenfolge aus 1 und 0 wird jeweils 1 durch einen Buchstaben im Alphabet und 0 durch ein Leerzeichen oder ein Symbol oder eine Ziffer ersetzt.
Ist die Zeichenfolge, bei der Einsen Buchstaben und Nullen Symbole, Zahlen oder etwas anderes sind. Wir iterieren dann durch, sehen, welche alphabetisch sind, und drücken 1 für alphabetisch 0 für nichtalphabetisch. Wir teilen uns dann in 7er-Gruppen auf, konvertieren zurück in ASCII und drucken jedes Zeichen.
quelle
T-SQL,
651832! PunkteInspiriert von einem Trick in Dloscs QBasic-Antwort , habe ich einen Weg gefunden, alle 10 Stellen und die meisten mathematischen Operatoren (
%
ist Rest / Modulo, fehlt nur/
) einzuschließen , meistens durch Ausprobieren. Ich glaube nicht, dass es eine Möglichkeit gibt, eine 67 zu erhalten, indem eine beliebige Kombination von Ziffern / Symbolen entfernt wird, aber Sie können es gerne versuchen.Version 2 (18 Punkte, trivial):
Keine gute Punktzahl, aber das ist, was meine erste Version vereinfacht hat (danke, MickyT). Alles andere, was ich versuchte (hex64 codieren und decodieren, einzelne Elemente aus einer Zeichenkette auswählen, ASCII-Werte konvertieren usw.), hatte zu viele wiederholte Zeichen (insbesondere
ECR
und Symbole(),@
), die es in das Negativ treiben.Version 1 (65 Punkte, ungültig):
Ich habe die Länge der Zeichenfolge verwendet, um zu bestimmen, wie viele Zeichen ich auf der linken Seite verwende. Wenn Sie also ein einzelnes Zeichen aus der Zeichenfolge entfernen, wird das Ergebnis der Ganzzahldivision auf 11 reduziert und nur ausgegeben
Code Bowlin
.quelle
DECLARE @ char(12)='Code Bowling'PRINT @
die Regeln reduziert werden kann .; # , Punktzahl -1163, nicht konkurrierend
Ich denke nicht, dass dies viel Konkurrenz wäre, selbst wenn es konkurrieren könnte.
Probieren Sie es online! Hinweis: TIO hat nur keinen; # Interpreter; # +.
quelle
CJam , Punktzahl 47
Hoffentlich keine Probleme damit ...
Verwendet ein exotisches Zeichen (Einheitentrennzeichen, ASCII 31, dargestellt durch
␟
) und ein wiederholtes Zeichen ("
). Ich denke es könnte noch länger gemacht werden, aber ich lasse es so wie es ist.Probieren Sie es online!
Das Programm verwendet diese lange Zeichenfolge und teilt sie in Teilzeichenfolgen der Länge 3 auf. Jede Teilzeichenfolge wird dann dem Block zugeordnet, der seine Zeichen in ihre ASCII-Werte umwandelt, die Werte auf dem Stapel ausgibt, die absolute Differenz der beiden zweiten berechnet, das Ergebnis mit dem ersten addiert und dann das Endergebnis wieder in ein ASCII-Ergebnis umwandelt Charakter.
quelle
CJam, Score 93
Probieren Sie es online aus
Inspiriert von der Python-Antwort von TidB .
Nicht sicher, ob es eine Möglichkeit gibt, die Wiederholung der doppelten Anführungszeichen zu vermeiden.
Erläuterung:
Die Zeichenfolge enthält umgekehrt "Cpde Bowling", jedes achte Zeichen.
7~%
extrahiert "Cpde Bowling" (7~
=-8
)2,.-
dekrementiert das Zeichen p (2,
=[0 1]
)quelle
PHP, 33 Punkte
Das war ziemlich schwer zu finden.
Die Punktzahl kann in Zukunft verbessert werden.
Es wird davon ausgegangen, dass die Newline eine Newline im Linux-Stil ist! Windows-Style und Old-Mac-Style funktionieren nicht richtig.
quelle
Rubin, 75
Ungefähr ein Port der Python-Antwort, aber Ruby hat diese coole Step-Funktion nicht, also benutze ich
gsub
stattdessen. Außerdem habe ich beschlossen, ein bisschen Spaß mit den exotischen Charakteren zu haben, indem ich Phrasen in Google Translate warfProbieren Sie es online!
quelle
USML, 12 oder 9 Punkte (nicht konkurrierend)
Probieren Sie es online!
Diese Antwort betrügt ein bisschen, indem sie missbraucht, wie HTML gerendert wird. Die tatsächlich dadurch erzeugte Zeichenfolge ist
"Code\tBowling "
. Bei der Wiederholung des Zeichens "o" gehen Punkte verloren.Für eine nicht betrügerische Antwort:
USML befindet sich noch in einem relativ frühen Entwicklungsstadium und ist noch nicht in der Lage, das Programm weiter zu vergrößern.
quelle
"Code&'Bowling
(* Hinweis: Ersetzen Sie&
mit einem Zeilenumbruch, ich kann sie nicht in Kommentare eingeben)s
in die nächste Zeile einfügen (um eine Teilzeichenfolge von nichts zu erhalten und damit die Ausgabe überhaupt nicht zu ändern), um eine Punktzahl von bis zu 12 zu erhalten, genau wie bei einer nicht konkurrierenden Punktzahl mit Ausnahme einer tatsächlichen gültige Einsendung: DCubix , 85
Probieren Sie es online!
Cubified mit unbedeutenden Zeichen ersetzt durch.
Ich glaube, ich habe den Pfad so zerbrechlich gemacht, dass das Entfernen von Zeichen ihn ziemlich stark beschädigen wird.
Schau es dir an
quelle
VB.net, 68
Ein schneller Test, der die Fallunempfindlichkeit von VB und das Fehlen eines "Systems" nutzt.
quelle
cONSOLE.WRITE("Code Bowling")
?Shell: Punktzahl 17
Gesamtpunktzahl: 17
quelle
Acc !! 171 Zeichen
Probieren Sie es online!
Acc !! eignet sich gut für diese Herausforderung, da Leerzeichen erforderlich und Schleifen teuer sind. Ich habe das Acc umulator hier, aber schlecht, Zeichen zu erhöhen. Hier ist eine kurze Übersicht von der Seite:
Loops in Acc, zumindest zum Golfen, sind ein Schmerz. Sie benötigen geschweifte Klammern und alle Leerzeichen sind erforderlich. Ansonsten ist es ziemlich selbsterklärend.
quelle