Die Eingabe muss nicht erforderlich sein und die Ausgabe muss " All your base are belong to us
" lauten .
Beschränkungen
Keine externen Ressourcen.
Plus mindestens zwei der folgenden:
Sie können in Ihrem Code auf keinen Fall "a", "b", "t", "u" oder "y" verwenden (Bonus -10 auf Ihre Golfwertung, wenn Sie dies tun können)
Sie können in Ihrem Code auf keinen Fall "l", "o", "s", "e" oder "r" verwenden (Bonus -20 auf Ihre Golfwertung, wenn Sie dies tun können)
Sie können in Ihrem Code auf keinen Fall "n", "g", "0", "1" oder "2" verwenden (Bonus -30 auf Ihre Golfwertung, wenn Sie dies tun können)
Wenn Sie beispielsweise den Code mit 40 Zeichen erstellen und die Regeln 1 und 2 verwenden, beträgt Ihr Golf-Score 40 - 10 - 20 = 10 Zeichen.
Kleinster Code Golf Score gewinnt ... Viel Glück!
string
bricht alle drei Einschränkungenchar
,var
undWrite
bricht jeweils zwei davon. Es wird schwierig, gültige Antworten zu bekommen, vielleicht sogar Barinfuck.print(input())
(Python) machen könnte? Der Benutzer müsste die richtige Zeichenfolge eingeben, aber das ist nicht verboten.stdin
ist wohl eine "externe Quelle".Antworten:
SOGL V0.12 , 15 - 60 = -45
Probieren Sie es hier aus!
šz█P'zUS½█│β3‘
ist eine komprimierte Stringall your base are belong to us
, sondern weil die exakte Zeichenfolge enthalten komprimiert0
, es ist in 3 Teile aufgeteilt:all your base are
,belong to us
(die ein Byte kosten , aber eine -30 - Byte - Bonus gab). Die erste und die letzte Zeichenfolge werden mit dem englischen SOGL-Wörterbuch komprimiert und implizit mit Leerzeichen verbunden. Der Rest⁾
ist ein einfacher eingebauter Satzfall.Beachten Sie, dass SOGL diese Herausforderung nachdatiert, dies ist jedoch jetzt zulässig.
quelle
GolfScript, -22 (38 Zeichen, -60 Bonus)
quelle
"..."
Definiert eine Zeichenfolge und der Block{}%
führt eine Zuordnungsoperation für alle Zeichen durch. Innerhalb des Blocks steht der ASCII-Wert auf dem Stapel zur Verfügung und67-
subtrahiert 67 von jedem ASCII-Wert.Sclipting , -40
丟
vor und ändern Sie die Punktzahl auf -39.quelle
"input is not required"
wie gesagt, also würde ich das 丟 nach vorne werfen und die Punktzahl auf -39 ändern, aber große Anstrengung! Vor allem, wenn man bedenkt, dass du die Sprache erfunden hast, Alter!JavaScript - 140 Bytes - 60 Bonus = 80 Punkte
Führen Sie in Firefox.
Ich weiß was du denkst. Nein, das sind nicht die Zeichen, die in der Frage aufgeführt sind. Dies sind Zeichen mit einem Caron oder Háček (zufällig aus einer Liste von Diakritika ausgewählt). Obwohl sie Zeichen kombinieren, sind sie keine zwei getrennten Zeichen.
quelle
String.fromCharCode(65,108,108,32,121,111,117,114,32,98,97,115,101,32,97,114,101,32,98,101,108,111,110,103,32,116,111,32,117,115);
APL (43-30-20 = -7)
Dies entspricht den Regeln 2 und 3.
quelle
INVALID TOKEN
Fehlermeldung erhalten .... vielleicht vom Anfangs- und Schlusszeichen vor AV ... Gibt es einen anderen Ort, an dem ich das testen kann ...?Brainfuck, 267 - 60 = 207
quelle
HTML / CSS 70
http://jsbin.com/EjekuvuF/1/
Ich dachte, ich wäre schlau mit dem verkehrten Typ, merkte dann aber, dass ich mit dem tatsächlichen HTML / CSS keine der Zusatzregeln erfüllen konnte. Naja.
AKTUALISIEREN:
User Flame schlug eine browserübergreifendere Lösung vor:
http://jsbin.com/EjekuvuF/6
quelle
transform:rotate(.5turn)
löst sich ein Syntaxfehler auf ... Ich mag die Vorstellungskraft, die in diese ...MATLAB, Alle Boni: Score von -20 (40-60)
BEARBEITEN:
Beachten Sie, dass ich nicht sicher bin, welche Systemanforderungen dies unter Windows erfüllen soll. Für diejenigen, die Probleme beim Kopieren haben, kann ein ähnlicher Code wie folgt generiert werden:
Wenn es erlaubt gewesen wäre, irgendetwas als Eingabe zu verlangen, wäre natürlich eine Lösung mit weniger Zeichen (aber auch ohne den Bonus) möglich.
quelle
input
. Die zweite Antwort ist (afaik) einfach nicht wahr.input('')
Aufruf endet nicht mit einem Semikolon, daher wird eine Ausgabe generiert.prompt()
"dd
, aber vielleicht zählt das als externe Ressource. Das würde der Benutzer natürlich auch tun.,
,E
9/
52
E"
!3
%E
!2
%E
"%
,/
.'
E4
/E
5`3 Ich kann die erste Antwort verstehen, aber die zweite Antwort erfordert Eingaben, von denen ich sagte, dass sie nicht" erforderlich "sindk (-7 = 53 - 60)
(#`)"c"$(465%3)-6h$"Z//{\",&){9:(6{:)6{96/,-4{',{&(";
ohne abschließende Zeilenumbrüche, kann gegen ein zusätzliches Zeichen hinzugefügt werden:
(-#`)"c"$(465%3)-6h$"Z//{\",&){9:(6{:)6{96/,-4{',{&(";
ärgerlicherweise sind die einzigen Offsets, die für diesen Trick funktionieren, 154 und 155
bearbeiten:
Wenn es ausreicht, den String anzuzeigen (anstatt ihn auszudrucken), wie ich es bei der APL-Lösung vermutet habe (es funktioniert nicht unter http://tryapl.com/ , daher kann ich ihn nicht richtig testen), ist es
Welches ist -12 = 48 - 60. Kann ich eine Entscheidung darüber treffen, ob dies ausreicht?
quelle
dc,
97 - 60 = 3791 - 60 = 3188 - 60 = 2881 - 60 = 21Verbesserte Version (die Hauptidee hier ist, die Eingabebasis zu variieren, um die Chancen zu erhöhen, eine nützliche große Zahl ohne problematische Ziffern zu finden):
In der Basis 7 kann das Ganze eine einzige Zahl werden! Niedrigere Sockel sind natürlich weniger kompakt, aber das Fehlen von Reparaturarbeiten macht dies wieder wett.
Meine erste Lösung verwendet Basis 10 My verwendet zweite eine Mischung aus Basis 9, 10, 12, 13 und 15. Dieser ist in der Basis 7. Ich fühle mich wie all die Basis wirklich sind , gehören zu mir.
Letzteres im Ernst: Base 13 macht einen großartigen Job im ersten Segment, dann Base 7 für den Rest.
quelle
Python REPL,
12211698 Zeichen - 30 Bonus =928668 PunkteIch könnte die Nullen in Python 3.3 loswerden, indem ich '
\40
' durch ' ' ersetze\N{SP}
, aber leider ist dasN
nicht erlaubt.Bearbeiten : Inspiriert von dieser Antwort habe ich es weiter verkürzt durch Ersetzen
\x40
durch. Da ich die bereits verwenden
1
, ersetzt\156
durchn
und\x67
durchg
verkürzt sie um weitere 6 Zeichen , während keine zusätzliche Strafe entstehen.quelle
.py
Datei einfügen und ausführen, erfolgt keine Ausgabe.Brainfuck,
205203 - 60 =145143 BytesLesbare Version:
quelle
Befunge 98: 122 - 60 = 62
Berechnet die ASCII-Werte und druckt sie dann aus. Ich muss noch andere Methoden zur Bildung der Zahlen ausprobieren, um zu sehen, ob es kürzere Wege gibt.
quelle
Python, 195-40 = 155
quelle
Rubin, 121 - 50 = 71
Ein bisschen rohe Gewalt, aber die meisten der niedlichen Methoden sind ausgeschlossen:
Verstößt Regel Nr. 1 wegen des A-Eingangs
pack
, sollten die anderen beiden in Ordnung sein.quelle
<<
in meiner Antwort verwende.{ba, z} sh,
67 - 40 72 - 6061 - 40 = 21Verdammt noch mal, es stellte sich heraus,
r
dass ich einen drin hatte , den ich nicht bemerkt hatte, also gilt der 20-Bonus nicht!quelle
$'\x74\x72'
kann sie direkt als Befehlsname verwendet werden, wodurch Sie 8 Zeichen für das Symbol speichern$(m4<<<)
. Funktioniert das bei Ihnen nicht so?\x72
als Ersatz für erhaltenr
Sie den 20-Punkte-Bonus auf Kosten des Verlusts des 30-Punkte-Bonus (für den2
)2
verwendeten gedacht. Lassen Sie mich sehen, ob ich einen Weg finden kann, sie loszuwerden und zu vermeiden, dass ich irgendwelche Boni verliere.tr
zählt das als externe Ressource?C, 75 Bytes - 60 = 15
Vielen Dank an @gastropner, der die Punktzahl von 50 auf 33 und von 19 auf 15 gesenkt hat!
Nimmt die Adresse eines Zeichen-Arrays als Eingabe und schreibt die Zeichenfolge in das Array.
Probieren Sie es online!
Rufen Sie an mit:
Ausgabe:
Alte Version (90 Bytes - 40 = 50):
quelle
*q,i,j;x(p){if(j="\v&&j3%?8j(+9/j+8/j(/&%$-j>%j?9"[i++])*(q=p)=j^74,x(++p);}f(p){i=3-3;x(p);}
i=i<30
noch 2 Bytes aus gehen.0
.JavaScript
(306 Zeichen - 60 Bonus = 246)(206 Zeichen - 50 Bonus = 156)(123 Zeichen = 173 Zeichen - 50 Bonus)
Irgendwie keine Ahnung, könnte wahrscheinlich mehr rausholen ... Lass es mich wissen, wenn ich etwas vollgestopft habe. Dieser Alarm warnt "Alle deine Basen gehören uns". Dies ist auch nur in ASCII möglich.
Wenn Sie die Konsole selbst als Ausgabe zählen, zählt dies auch (57 mit Bonus):
quelle
x=(c.t+c)[6]
ist ein bisschen kürzereval
könnte leichter zu hacken seinBrainfuck, (227 - 60 = 167)
quelle
+++++ +++++
benötigt wird? Es könnten 226 Bytes sein.PHP (35 - 60 = -25 Bytes)
HOW LOW CAN YOU GET ?
[1] [2][1] Dieses Programm kann mit dekodiert werden
xxd -r
.[2] Ja, schwere Lösung hier wiederverwenden. Ich denke, es ist ... das dritte Problem, das ich auf diese Weise gelöst habe. Vielleicht sollte ich zu etwas anderem übergehen, aber es ist nicht so, dass dies nicht gut für Probleme ist, die es Ihnen verbieten, die meisten Zeichen zu verwenden.
quelle
~
.Bash, 52-10-30 = 12
Das Folgende soll in einer (immer noch recht verbreiteten) ISO-8859-1-Umgebung ausgeführt werden:
Dies ruft auf
tr
, was die Zeichen in geeigneter Weise übersetzt. Ich musste entweder dier
und Regel 2 verletzen, oder eine Ziffer in der Escape-Taste verwenden und Regel 3 verletzen. Da 3 mehr Bonus gibt, entschied ich mich für die erstere.quelle
tr
eine externe Ressource dar?Pure Bash (keine externen Ressourcen), 141 Zeichen - 50 Bonus = 91
Den 10-Punkte-Bonus absichtlich fallen lassen, um eine bessere Gesamtpunktzahl zu erzielen.
Dies funktioniert mit jeder
bash
Version 3.00.15 oder höher, die ich ausprobiert habe.Wie funktioniert es
Hier gibt es keine Raketenwissenschaft - nur
bash
Erweiterungen der einen oder anderen Form:[012]
. zB$'\x65'
gibt unse
Z=({k..v})
) erweitern. Der Beginn der geschweiften Klammer wird sorgfältig ausgewählt, damit die Indizes der Zeichen, die wir benötigen, nicht enthalten[012]
. zB${Z[7]}
gibt unsr
.bash
ist flexibel genug, um zuzulassen, dass seine Befehle aus dem Inhalt mehrerer Zeichenfolgen erstellt werden. Erweitert$f$'\x63'h$i
sich also zuecho
.Vorherige Antwort mit vollem Bonus, aber schlechterer Punktzahl:
Pure Bash (keine externen Ressourcen), 193 Zeichen - 60 Bonus = 133
Ich weiß, dass dies nicht gewinnen wird, aber ich wollte mir beweisen, dass dies möglich ist
bash
, und dabei alle Anforderungen erfüllen:Dies erfordert eine relativ aktuelle Version von
bash
für die${c^}
Parametererweiterung. 4.2.25 ist in Ordnung, aber 3.2.48 ist ein No-Go.quelle
Postscript, 364 - 40 = 324
Ich könnte es
loser
natürlich nicht ohne tun . :)Dies beginnt mit der Codierung des Texts als Base-36-Zeichenfolge:
Und dann die 1s und 0s und 2s arithmetisch entfernen. Die Zeichenfolgen können dann mit neu generiert werden
36 <string-buf> cvrs
, dies führt jedoch zu Großbuchstaben. Daher müssen wir sie durchlaufen und 0x20 hinzufügen, um sie in Kleinbuchstaben umzuwandeln.Die Operatoren
cvx exec
ermöglichen es uns, Zeichenfolgenfragmente von binär codierten Operatortoken in verschiedenen Codierungen auszuführen. Am einfachsten ist es, einen Operator in Hex zu kodieren,<92??>
aber da ist eine 2 drin! Die "First-Level" -Codierung lautet also ascii85. Dann durchliefen alle Zeichenfolgen, die noch verbotene Zeichen enthielten, zusätzliche Ebenen von hex -> ascii85 -> hex -> ascii85.quelle
Brainfuck, 306 - 60 = 246
quelle
PHP, 186-10-30 = 146
Ich musste ein wenig kreativ werden;)
quelle
<?=
anstelle von Echo (4) die wiederholten Buchstaben in Variablen ('l', '') speichern. Verwenden Sie54*2
anstelle von54+54
54*2
weil es eine2
hat, also könnte ich es nur mit solchen machen, die einen Faktor von 3 oder höher haben. Wenn ich eine Dezimalstelle verwende, gibt es nicht weniger Zeichen.chr(68+33)
undchr(38*3)
durch wörtlichee
und ersetzenr
.Python, 181 - 40 = 141
[Ich verwende Version 2.7.2 YMMV - das eingebaute,
file
ist in Python 3.X verschwunden]quelle
Python (104 - 30 = 74)
Und Punktzahl:
quelle
Mumps, 150 -
60 = 90.40 = 110Ich bin mir nicht sicher, ob es (insgesamt) kürzer hätte sein können, wenn ich keinen der Code-Boni bekommen hätte - mein Ziel war ein bisschen weniger auf Shortness und ein bisschen mehr auf -60 ... Ich mochte die Herausforderung, nicht zu verwenden eines der eingeschränkten Zeichen.
Und ... ich habe es vermasselt - den beginnenden 'S'-Befehl verpasst. : - /
Wie auch immer, hier ist eine "keine Regeln" -Version - die Variablen erweitern.
Und das ergibt eine Punktzahl von 177-60 = 117. Wenn ich also gegen die Mittelregel verstoße, habe ich immer noch eine niedrigere Gesamtpunktzahl.
quelle
Perl 5, 99 - 50 = 49
Eine Unterroutine, die die erforderliche Zeichenfolge zurückgibt:
Sehen Sie es so gedruckt:
quelle
BF-RLE , 146-30 = 116
quelle