Aufgaben
Alle Teilnehmer versuchen die folgende Liste von 10 Aufgaben zu lösen:
Liest eine positive ganze Zahl n von der Eingabe und gibt die Summe der Würfel der ersten n nicht negativen ganzen Zahlen zurück.
Für die Eingabe
1
sollte dies zurückkehren0
.Lesen Sie eine positive ganze Zahl n aus der Eingabe und geben Sie genau dann einen Wahrheitswert zurück, wenn n eine Mersenne-Primzahl ist .
Lesen Sie eine nicht leere Liste mit n Ganzzahlen aus der Eingabe und geben Sie ihren Median zurück .
Wenn n gerade ist, verwenden Sie den kleineren der beiden Mittelwerte.
Zum Beispiel ist der Median der
[1 4 3 2]
ist2
.Liest eine Ganzzahl (positiv, negativ oder 0) oder eine Zeichenfolgendarstellung in Basis 10 oder unär, von der Eingabe und gibt ihre Ziffern in negabinär ohne führende Nullen zurück (mit Ausnahme von Eingabe 0).
Die Ausgabe kann auf eine beliebige Weise formatiert werden (Ziffern, Array, Zeichenfolge usw.).
Rückkehr
pneumonoultramicroscopicsilicovolcanoconiosis
.Überprüfen Sie das aktuelle Datum und geben Sie es
Happy New Year!
gegebenenfalls gemäß dem gregorianischen Kalender zurück.Wählen Sie pseudozufällig 64 eindeutig zugewiesene Codepunkte aus dem Unicode-Block CJK Unified Ideographs Extension-A (U + 3400 - U + 4DB5) aus und geben Sie die Zeichenfolge der entsprechenden Zeichen zurück.
Alle möglichen Zeichenfolgen sollten die gleiche Wahrscheinlichkeit haben, ausgewählt zu werden.
Lesen Sie zwei Zeichenfolgen druckbarer ASCII-Zeichen aus der Eingabe und geben Sie nur dann einen Wahrheitswert zurück, wenn das Zeichen der ersten Zeichenfolge eine Untersequenz der zweiten Zeichenfolge bildet.
Zum Beispiel
abc
,axbxc
sollte zurückkehren truthy undbac
,axbxc
sollte zurückkehren falsy.
- Lesen Sie ein mehrdimensionales, rechteckiges Array von Ganzzahlen und eine Ganzzahl n aus der Eingabe und geben Sie das geänderte Array mit allen Ganzzahlen multipliziert mit n zurück .
Lesen Sie eine nicht negative Ganzzahl n aus der Eingabe und geben Sie eine Kette von n Zugwaggons zurück, wie unten gezeigt.
Beispielausgabe für n = 3 :
______ ______ ______ | | | | | | ()--() ~ ()--() ~ ()--()
Die Ausgabe kann von beliebig vielen Leerzeichen umgeben sein, solange dies wie im Beispiel aussieht.
Klarstellungen
0 ist weder positiv noch negativ.
In der Ausgabe ist immer ein nachgestelltes Leerzeichen zulässig.
Mehrere Eingaben können in beliebiger Reihenfolge gelesen werden.
Regeln
Keine Antwort kann zwei verschiedene Aufgaben in derselben Programmiersprache lösen. 1
Für jede einzelne Aufgabe gelten die Standardregeln für Code-Golf .
Insbesondere können Sie Programme oder Funktionen mit den üblichen E / A-Standardeinstellungen einreichen, diese Lücken jedoch nicht ausnutzen .
Aufgabe 5 ist im Wesentlichen eine Herausforderung in Bezug auf die Kolmogorov-Komplexität. Daher ist das Hardcodieren der Ausgabe nicht nur zulässig, sondern wird auch erwartet.
Es sollte nur eine Antwort pro Benutzer gepostet werden, die höchstens eine Lösung für jede der Aufgaben enthält.
Bitte formatieren Sie Ihre Antwort wie im folgenden Beispiel:
## Task 1, Python, 42 bytes <code goes here> Explanation, I/O, required Python version, etc. go here. --- ## Task 7, C, 42 bytes <code goes here> Explanation, I/O, required compiler (flags), etc. go here.
Wertung
Für jede Aufgabe, die Sie lösen, erhalten Sie einen Punkt.
Dies bedeutet, dass Sie nicht alle Aufgaben lösen müssen, um teilzunehmen.
Wenn Ihre Lösung für die Aufgabe n die kürzeste in dieser Programmiersprache ist, erhalten Sie einen zusätzlichen Punkt.
Wenn Ihre Lösung für die Aufgabe n die kürzeste aller Programmiersprachen ist, erhalten Sie einen zusätzlichen Punkt.
Die Bonuspunkte werden nur einmal für jede Aufgabensprachenkombination bzw. für jede Aufgabe vergeben.
Wenn zwei Lösungen die gleiche Byte-Anzahl haben, ist wie üblich die Sendezeit der Verbindungsunterbrecher.
Wenn Sie später von jemandem übervorteilt werden, verlieren Sie die Bonuspunkte, die der andere Antwortende verdient.
Sie können Golf spielen, Sprachen zu Ihrer Antwort hinzufügen / daraus entfernen oder die für zwei Aufgaben verwendeten Sprachen austauschen.
Jedes Mal, wenn jemand seine Antwort bearbeitet, werden alle Antworten neu bewertet.
Sobald Sie die Sprache für eine Aufgabe ändern, verlieren Sie das Dienstalter. 2
Die Antwort mit der höchsten Punktzahl gewinnt. 3
Rangliste pro Aufgabe
<style>body{text-align:left!important}#answer-list{padding:10px;width:290px;float:left}#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}</style><script src=https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js></script><link rel=stylesheet href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"><div id=answer-list><table class=answer-list><thead><tr><td>Task<td>Author<td>Language<td>Score<tbody id=answers></table></div><table style=display:none><tbody id=answer-template><tr><td>{{TASK}}<td>{{NAME}}<td>{{LANGUAGE}}<td>{{SIZE}}</table><script>function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),e.has_more?getAnswers():process()}})}function process(){answers.forEach(function(e){var s=e.body_markdown.split("\n").filter(function(e){return"#"==e[0]});s.forEach(function(s){var r=s.match(NUMBER_REG)[0],t=(s.match(SIZE_REG)||[0])[0],a=s.match(LANGUAGE_REG)[1],n=e.owner.display_name;entries.push({task:r,user:n,language:a,size:t})})}),entries.sort(function(e,s){var r=e.task-s.task;return r?r:e.size-s.size});for(var e=0;e<entries.length;e++){var s=jQuery("#answer-template").html();s=s.replace("{{TASK}}",entries[e].task).replace("{{NAME}}",entries[e].user).replace("{{LANGUAGE}}",entries[e].language).replace("{{SIZE}}",entries[e].size),s=jQuery(s),jQuery("#answers").append(s)}}var QUESTION_ID=52152,ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",answers=[],page=1;getAnswers();var SIZE_REG=/\d+(?=[^\d&]*(?:<(?:s>[^&]*<\/s>|[^&]+>)[^\d&]*)*$)/,NUMBER_REG=/\d+/,LANGUAGE_REG=/^#*.*?,\s*\[*([^,\]]+)/,entries=[];</script>
Kombinierte Bestenliste (30.07.2015 20:00 UTC)
User / Task 1 2 3 4 5 6 7 8 9 A TOTAL Tie breaker (if any)
DLosc 2 2 3 2 2 2 2 3 2 2 22
Sp3000 2 2 2 2 2 3 2 2 2 2 21
Doorknob 2 2 2 2 2 2 2 2 2 2 20
mathmandan 2 2 2 2 2 2 2 2 2 2 20 Combined byte count.
MickyT 2 2 2 2 2 2 1 2 2 2 19
Alex A. 2 1 2 2 2 2 1 2 2 2 18
Jacob 2 2 2 2 2 1 0 0 0 2 13
alephalpha 2 2 2 0 2 2 0 0 2 0 12
Martin Büttner 2 0 0 2 2 0 0 2 2 2 12 Combined byte count.
kirbyfan64sos 1 2 2 0 2 X 0 2 0 3 12 Per-language wins.
Maltysen 3 0 0 0 3 2 1 X 2 0 11
plannapus 2 2 0 0 2 2 0 2 0 2 10
jimmy23013 0 0 2 3 0 0 3 2 0 0 10 Solved tasks.
Tom 0 3 0 0 2 2 0 X 3 0 10 Combined byte count.
FryAmTheEggman 1 0 2 0 2 0 2 0 2 0 9
Vioz- 1 0 2 2 2 2 0 0 0 0 9 Combined byte count.
Toby Speight 2 0 0 0 2 2 0 0 0 2 8
Ismael Miguel 0 0 0 0 2 2 0 0 0 2 6
Pulga 0 2 2 0 0 0 0 0 0 2 6 Combined byte count.
flawr 2 0 2 0 0 0 0 0 0 0 4
manatwork 2 0 0 0 0 2 0 0 0 0 4 Combined byte count.
TheNumberOne 1 0 0 0 2 0 0 0 0 0 3
Mit gekennzeichnete Aufgaben X
sind vorhanden, aber ungültig.
Die kombinierte Bestenliste wurde in Handarbeit erstellt. Bitte teilen Sie mir mit, ob Fehler vorliegen.
1 Sprachen gelten als unterschiedlich, wenn es sich nicht um verschiedene Versionen derselben Sprache handelt. Es gibt also nur ein JavaScript, ein Python und ein TI-BASIC, aber C, C ++, Octave und MATLAB sind vier verschiedene Sprachen.
2 Wenn Sie Aufgabe n mit Sprache L in x Bytes lösen , jemand anderes dieselbe Aufgabe in derselben Sprache mit derselben Byteanzahl löst, Sie zu Sprache M wechseln und Ihre Bearbeitung zurücksetzen, behält der andere Antwortende den Bonuspunkt.
3 Die Anzahl der Punkte, die nach den Bewertungsregeln 1, 2 und 3 (in dieser Reihenfolge) erzielt wurden, die kombinierte Byteanzahl aller gelösten Aufgaben (niedriger ist besser) und schließlich die Stimmenzahl (höher ist besser) dienen als Tiebreaker.
Antworten:
Aufgabe 1, GolfScript, 8 Bytes
Gleiche Idee wie Martins CJam- Antwort.
Task 2, QBasic,
74,71 BytesGetestet auf QB64 mit deaktivierter Syntaxerweiterung. 1 Der Großteil des Programms testet, ob die angegebene Zahl
a
eine Primzahl ist, indema
mod für jede Zahl 2 <=i
<genommena
und die Ergebnisse multipliziert werden. Das Ergebnis istr
0, wenn die Zahl keine Primzahl ist, andernfalls ungleich Null. In der letzten Zeile wird bitweiseAND
mit ganzzahliger Division durch 2 geprüft, ob die Binärdarstellung vona
alle Einsen ist, dha
die Form 2 n -1 hat. Multiplizieren mitr
ergibt 0 (falsch), wenn eine Zahl keine Mersenne-Primzahl ist, und andernfalls einen Wert ungleich Null (wahr).?
ist eine Abkürzung fürPRINT
.Die größte von mir getestete Mersenne-Primzahl, 8191, gibt ein Ergebnis von -
1.#INF
was immer noch wahr ist! (Ich habe mit einerIF
Erklärung nachgesehen , um sicherzugehen.)1 Dies ändert nichts an der Semantik des Programms. Wenn Sie den obigen Code in DOS QBasic eingeben, wird er automatisch mit zusätzlichen Leerzeichen formatiert, läuft aber genauso.
Aufgabe 3, Pyth, 6 Bytes
Liest eine Liste im Python-Stil aus stdin. Die Hauptmagie hier ist der
c
Hop-Operator: Wenn ein Int und eine Liste gegeben sind, wird die Liste in n Teile geteilt. Soc2SQ
hackt die sortierte Eingabeliste in zwei Hälften. Wenn die Länge ungerade ist, ist die erste Hälfte die größere, sodass der Median immer das letzte Element der ersten Hälfte ist. Dies ist der Endpunkte
derh
Schnittergebnisse.Task 4, CJam, 26 Bytes
Ich vermute, das könnte verkürzt werden.
Algorithmus:
Die Tatsache, dass es sich um eine do-while-Schleife handelt, kümmert sich um den Fall 0.
Aufgabe 5, Bash, 50 Bytes
Nicht viel zu erklären.
Aufgabe 6, Python, 78 Bytes
Benötigt Python 2. Pythons Operatoren für verkettete Ungleichungen können hier gut ausgenutzt werden.
Task 7, ActionScript, 82 Byte
ActionScript gehört zur ECMAScript-Familie. Für diesen Code ist ActionScript 2 erforderlich - viel besser für Code-Golf, da ich veraltete Funktionen wie
chr
anstelle von Version 3 verwenden kannString.fromCharCode
!Die Ausgabe erfolgt im Konsolenfenster:
Task 8, Pip,
919 BytesDie Regex-Lösung hat nicht ganz funktioniert, daher hier eine mit Zeichenfolgenoperationen.
Github-Repository für Pip .
Nimmt die beiden Zeichenfolgen als Befehlszeilenargumente. Wann
a
ist eine Untersequenz, gibt eine positive ganze Zahl aus (wahr); Andernfalls ist das Ergebnis null (falsch), was zu keiner Ausgabe führt.Erläuterung:
Aufgabe 9, Prolog (SWI), 68 Bytes
Prolog ist im Codegolf normalerweise überhaupt nicht konkurrenzfähig, daher bin ich mit dieser Lösung ziemlich zufrieden.
Definiert ein Prädikat
m
mit EingabeparameternL
für die Liste sowieN
für die Anzahl und den AusgabeparameterR
. Die Definition vonm
ist eine dreifache Disjunktion:L
dies vereinheitlicht werden kann[H|T]
, handelt es sich um eine Liste mit mindestens einem Element. Rufen Siem
rekursiv den Kopf und das Ende dieser Liste auf und setzen Sie die Ergebnisse erneut zu einer neuen Liste zusammen, die mit vereinheitlicht istR
.L
mit vereinigt werden kann, vereinige[]
dich auchR
mit[]
.L
wird angenommen, dass es sich um eine Zahl handelt.L*N
wird berechnet und zugeordnetR
.Beispiellauf unter
swipl
Ubuntu:Task 10, C,
114112106 BytesGetestet mit
gcc
auf Ubuntu. Definiert eine Funktiont
, die ein ganzzahliges Argument akzeptiert. Verwendet dreifor
Schleifen zur Ausgabe, die durch Makromissbrauch stark komprimiert werden. Die Verwendung des Rücktastenzeichens zum Löschen eines abschließenden Zeichens~
führt zu einem merkwürdigen Leerzeichenmuster, jedochThe output may be surrounded by any amount of whitespace as long as it looks like in the example.
Beispiellauf von
t(3)
:quelle
a.c
als eine Untersequenz vonabc
.Huzzah, zuerst alle Aufgaben zu erledigen! \O/
Task 1, Perl, 32 Bytes
+1 Byte für das
-p
Flag. Kommentar: Perl ist komisch .Task 2, CJam, 14 Bytes
Mein erstes CJam-Programm!
Aufgabe 3, GolfScript, 8 Bytes
Eval STDIN eingeben, sortieren, Länge nehmen, dekrementieren, durch zwei teilen und dann das Element des sortierten Arrays an diesem Index nehmen.
Aufgabe 4, Python, 77 Bytes
Vielen Dank an @ mbomb007 für das Abschneiden von 24 (!) Bytes und an @ Sp3000 für weitere 11 Bytes.
Task 5, Java, 66 Bytes
Langweilig. Hier wurde eine ausführliche Sprache deaktiviert, um später mehr Platz für Golfspieler-Sprachen zu haben.
Aufgabe 6, Bash, 39 Bytes
Vielen Dank an @manatwork, dass Sie mir das beigebracht haben
%j
und dabei 10 Bytes gespart haben.Aufgabe 7, JavaScript, 148 Bytes
Generieren Sie eine Zeichenfolge mit 64
x
Zeichen und ersetzen Sie diese durch eine Rückruffunktion, die ein zufälliges Zeichen zurückgibt, sofern es nicht bereits im Array der verwendeten Zeichen enthalten ist.Aufgabe 8, Rust, 130 Bytes
Ja, Rust spielt sehr schlecht.
Aufgabe 9, Strauß, 18 Bytes
Version 0.7.0 . Untersucht das Array, ersetzt einen regulären Ausdruck, um die Zahlen in ihre multiplizierten Versionen zu ändern, und wertet dann die resultierende Zeichenfolge erneut aus.
Aufgabe 10, Ruby, 58 Bytes
"\n"
ist ein Zeichen länger als"{actual newline}"
, das ist ein Zeichen länger als$/
. Vielen Dank an @ MartinBüttner für das Abschneiden von {unbestimmten aber großen} Bytes mit verschiedenen Tricks der schwarzen Magie.quelle
$(…)
→`…`
.[ `date +%j` = 001 ]
Oder sogar((`date +%j`<2))
. (Vorausgesetzt, GNUdate
unterstützt das Format "% j day of year (001..366)".)Task 1, 3var,
1413 Bytes( Esolang-Wiki-Seite für 3var )
Erfolgt die Eingabe über einen Codepunkt, z. B. ist das Leerzeichen 32.
Glücklicherweise sind alle Operationen, die wir zum Implementieren der Formel benötigen,
n^2 (n-1)^2 / 4
einzelne Zeichen (Dekrementieren, Multiplizieren und Quadrieren), doch es dauert 3 Bytes, bis sieB
auf 2 gesetzt sind (Zurücksetzen, Inkrementieren, Inkrementieren).Aufgabe 2, Retina,
3833 Bytes( Github-Repository für Retina )
Jede Zeile wird in einer eigenen Datei abgelegt, aber Sie können das oben beschriebene wie es ist mit dem
-s
Flag testen (durch<empty>
nichts ersetzen ). Die Eingabe sollte mit 1s unär sein, zB1111111
für 7.Hier ist, was jede reguläre Ersetzung (angegeben durch ein Paar von Zeilen) bewirkt:
2
,1 + composite
odernot power of 2
mit nichts.Dies fügt
1
Mersenne-Primzahlen ein Extra hinzu , während jede andere Zahl ausgelöscht wird.Aufgabe 3, Schläger, 71 Bytes
Lisp-ähnliche Sprachen sind einfach zu wortreich. Beispiellauf:
Aufgabe 4,> <>, 31 Bytes
( Esolang-Wiki-Seite für> <> )
Das obige ist 28 Bytes und erfordert das
-v
Flag im Python-Interpreter für weitere 3 Bytes , z. B. wie ausgeführtDas Schöne an> <> ist, dass wir die Ziffern einzeln über Modulo und Division berechnen können. Dies gibt die Ziffern in umgekehrter Reihenfolge wieder, ideal zum Ausdrucken eines Stapels.
Aufgabe 5, Parenthetic,
1448 -1386 Bytes( Github-Repository für Parenthetic )
Ich habe eine CJam-Antwort darauf, die kürzer ist als die Zeichenfolge selbst, aber ich kann sie nicht verwenden, also dachte ich, ich würde in die andere Richtung gehen.
Python 3-Generierungscode:
Hier ist der entsprechende Lisp-ähnliche Code:
Anscheinend war es in Ordnung,
define
mit dem Nameng
as zu überschreiben()()
, wodurch eine Menge Bytes gespart wurden.Task 6, CJam, 26 Bytes
Überprüft, ob der
[month day]
Teil des lokalen Zeitarrays kleiner als ist[1, 2]
.Aufgabe 7, Python, 73 Bytes
Nur eine einfache Python 3-Implementierung.
Aufgabe 8, Vorspiel,
4641 Bytes( Esolang-Wiki-Seite für Prelude )
Ich denke, das funktioniert - es ist wahrscheinlich immer noch golffähig, aber ich spiele zum ersten Mal nicht-trivial Golf in Prelude. Das Eingabeformat ist
<needle>NUL<haystack>
, woNUL
ist0x00
. Dies funktioniert am besten mitNUMERIC_OUTPUT = True
dem Python-Interpreter, da er dann ausgegeben1
oder0
entsprechend angepasst wird.Ich habe Prelude gewählt, weil es zwei Eigenschaften gibt, die es für diese Aufgabe sehr schön machen:
Dies wäre noch besser gewesen, wenn Prelude einen NOT-Operator hätte.
Hier ist die Aufteilung:
(-5 Bytes dank @ MartinBüttner)
Aufgabe 9, Mathematica, 4 Bytes
So etwas
2 {{0, 1}, {1, 0}}
ist in Mathematica implizit eine Multiplikation, also werden die Argumente einfach nebeneinander gestellt.Wie von @MartinButtner und @alephalpha bemerkt ,
1##&
ist eine weitere 4-Byte-Antwort. Für eine Erklärung siehe erstere.Task 10, Rail,
246237 Bytes( Esolang-Wiki-Seite für Rail )
Die Gelegenheit, eine zugbezogene Aufgabe in Rail zu erledigen, konnte ich mir nicht entgehen lassen :) Das Leerzeichen sieht ziemlich gut aus, aber da die Verzweigung drei Zeilen in Anspruch nimmt, ist die Komprimierung ein bisschen mühsam.
Die Eingabe ist eine Ganzzahl über STDIN, es muss jedoch eine EOF geben. Der obere linke Teil
ist eine atoi-Schleife, die die Eingabe in eine Ganzzahl umwandelt, während sie nicht EOF ist (von der
e
Anweisung geprüft ).Die Funktion
f
in den letzten drei Zeilen nimmt die durch getrenntenx, y, n
Zeichenfolgenzeiten auf und gibtx
n
sie ausy
. Die Funktion ist rekursiv undn
wird jedes Mal um eins dekrementiert, bis sie Null wird.f
wird dreimal aufgerufen und liefert unterschiedliche Zeichenfolgen für jede Zeile. Merkwürdigerweise lässt Rail zu, dass Variablennamen leer sind, was einige Bytes einspart.Leider kommen
(!x!)
die meisten Bytes von , die den oberen Bereich des Stapels öffnen und ihn einer Variablen zuweisenx
, und(x)
diex
auf den Stapel drücken. Dies ist erforderlich, da Rail keinen doppelten Operator enthält. Dies ist(!x!)(x)(x)
die einzige Möglichkeit, den oberen Bereich des Stapels zu kopieren.quelle
Task 1, CJam, 7 Bytes
Ich wollte nur die (vermutlich) optimale CJam-Lösung dafür finden. Sie nutzt die Tatsache, dass die Summe der ersten n Würfel das Quadrat der n-ten Dreieckszahl ist, die selbst die Summe der ersten n ganzen Zahlen ist.
Teste es hier.
Aufgabe 4, Spaltung,
17388786968 BytesGitHub-Repository für Fission.
Mein zweites ziemlich kompliziertes Fission-Programm. :)
Das Eingabeformat ist etwas komisch. Um negative Eingaben zu unterstützen, wird erwartet, dass das erste Zeichen entweder das Vorzeichen ist
+
oder dieses-
anzeigt. Der Bytewert des zweiten Zeichens ist dann die Größe der Eingabe (da Fission Dezimalzahlen nicht nativ lesen kann). Also, wenn Sie möchten111
, würden Sie es+o
auf STDIN weitergeben. Und wenn Sie wollen, geben-56
Sie es weiter-8
. Anstelle von+
und können-
Sie ein beliebiges Zeichen mit einem niedrigeren oder höheren Zeichencode verwenden. Dies kann hilfreich sein, wenn Sie etwas wie-n
(das Sieecho
möglicherweise als Argument behandeln) übergeben, z0n
.Schauen wir uns an, wie wir die negabinäre Darstellung einer positiven Zahl finden können. Wir wollen die Zahl vom niedrigsten zum höchstwertigen Bit berechnen (wir werden diese Bits auf einen Stapel schieben und sie alle am Ende ausdrucken, um sie in der richtigen Reihenfolge zu erhalten). Die erste Ziffer ist dann nur die Parität der Zahl, und wir teilen die Zahl durch 2, um die Verarbeitung fortzusetzen. Die nächste Ziffer ist jetzt negativ (mit dem Wert -2) - es ist jedoch zu beachten, dass dieses Bit immer dann gesetzt wird, wenn das 2-Bit in einer normalen Binärzahl gesetzt würde. Der einzige Unterschied besteht darin, dass wir -2 mit positiv höherwertigen Ziffern kontern müssen. Also, was wir tun, ist das:
1
, erhöhen wir die verbleibende Zahl um 1, um dem negativen Bit entgegenzuwirken (die Differenz zwischen einem Negabit und einem Bit ist einmal der Wert des nächsten höherwertigen Bits).Eine große Vereinfachung der Code Ergebnisse zu bemerken , dass eine Zugabe bedingt hier entspricht die Anzahl von Rundungs up , wenn ganzzahlige Teilung (wenn der verworfene Bit 1 ist, haben wir das ganze Zahl geteilten Ergebnis um 1 erhöht).
Dann ist das nächste Bit wieder nur ein positiver Wert, damit wir es normal bestimmen können. Das heißt, wir möchten eine Schleife, die jeweils zwei Bits berechnet und für die verbleibende Zahl abwechselnd auf- und abgerundet. Wir möchten die Schleife jedoch in der Mitte eingeben, damit wir mit dem Abrunden beginnen.
Wie können wir mit negativen ganzen Zahlen umgehen? Das Problem ist, dass Fission mit negativen ganzen Zahlen nicht wirklich willkürlich rechnen kann, weil Massen immer nicht negativ sind. Man müsste also etwas wirklich Kompliziertes tun, wie mit der Größe zu arbeiten und das Zeichen woanders zu verfolgen. Die Negabindarstellung einer negativen Zahl kann jedoch auf der Grundlage einer zugehörigen positiven Zahl berechnet werden:
Wenn n negativ ist, berechnen die negabinary Darstellung von n / 2 (gerundet up ) und die Parität der append n .
Dies ist genau der erste Schritt unserer Zwei-Bit-Schleife. Wir müssen die Schleife also nur an einer anderen Stelle starten, wenn das Vorzeichen negativ ist.
Die meisten Einsparungen aus den 173 ursprünglichen Bytes stammten aus diesen Erkenntnissen, die es mir ermöglichten, drei Paritätsprüfungen und eine zweiteilige Schleife mit einer einzigen Paritätsprüfung zu einer einzigen Schleife zusammenzufassen.
Dieser Beitrag wird zu lang, wenn ich den gesamten Code im Detail erkläre, aber ich werde auf einige Abschnitte hinweisen, um das grobe Layout des Kontrollflusses zu erläutern, und Sie können die Details mit der Fission-Referenz herauspuzzeln.
Ausgehend von
D
liest dies ein Vorzeichen in die Energie und die Größe in die Masse eines Atoms, das in das[
(nach rechts gehende) endet . Dieses Vorzeichenbit wechselt nach jedem Durchlauf durch die Paritätsprüfung und bestimmt, ob die abgerundete oder aufgerundete Hälfte der Schleifeneingabe erhalten bleibt.Dies ist die Schleife, die die einzelnen Bits berechnet und die richtige Hälfte in die nächste Iteration einspeist. Die
S
undJ
werden verwendet, um eine Kopie der rechten Hälfte basierend auf dem aktuellen Vorzeichenbit zu erstellen, dieX
s führen das Kopieren durch. In>
der oberen rechten Ecke wird das tatsächliche Bit berechnet, das dann an den Stapel gesendet wirdK
, um später abgerufen zu werden. Ich denke, das Layout der oberen rechten Ecke ist ziemlich geschickt und es lohnt sich auf jeden Fall, im Detail zu studieren, wenn Sie sich für Fission interessieren.Dies
%
ist ein Schalter, der die Nummer in die Schleife zurückführt, solange sie größer als 0 ist.Sobald die Zahl 0 erreicht, wird sie stattdessen nach unten reflektiert. Dies startet eine weitere Schleife, die die Bits vom Stapel abruft, sie zum Zeichencode von hinzufügt
0
und mit drucktO
. Das Programm wird beendet, sobald der Stapel leer ist, da das Kontrollatom auf den Stapel geschoben wird (und danach keine beweglichen Atome mehr vorhanden sind).Aufgabe 5, Vorspiel,
21917996 BytesEsolangs Seite für das Präludium.
Stack Snippet Interpreter für Prelude.
Dies begann als handgefertigtes Standard-Prelude-Programm mit fester Ausgabe und drei Stimmen. Nach einigem Plaudern mit Sp3000 habe ich beschlossen, eine einzelne Stimme zu testen. Es stellte sich heraus, dass dies recht gut funktionierte, da es viel einfacher ist, ältere Buchstaben wiederzuverwenden. Dann gab Dennis mir ein paar Tipps und ich fand die aktuelle Version: Die Idee ist, alle Offsets des Briefes
h
in umgekehrter Reihenfolge auf den Stapel einer einzelnen Stimme zu schieben und sie dann einzeln in einer Schleife zu drucken.h
wird gewählt, weilh
die Zeichenfolge keine enthält (was wichtig ist - andernfalls würde der0
Offset die Schleife beenden) und weil die Codierung der Offsets in Form von zweistelligen und negativen Offsets minimiert wird.Die Offset-Codierung wurde mit diesem CJam-Skript generiert .
Aufgabe 8, Mathematica, 28 Bytes
Yay für Einbauten. (Die Benennung von Mathematica ist hier etwas seltsam ...
LongestCommonSubsequence
findet die längste gemeinsame Teilzeichenfolge, währendLongestCommonSequence
die längste gemeinsame Teilzeichenfolge gefunden wird .)Aufgabe 9, J, 1 Byte
Das Gleiche wie die Antworten von APL und K, aber es scheint, dass noch niemand J genommen hat.
Aufgabe 10, Retina,
6760 BytesGitHub-Repository für Retina.
Jede Zeile wird in eine separate Datei geschrieben und
<LF>
sollte durch ein Zeilenumbruchzeichen ersetzt werden und<empty>
eine leere Datei sein. Sie können all dies auch in eine einzelne Datei-s
packen und die Option verwenden, aber das erlaubt noch nicht das Einbetten von Zeilenumbrüchen anstelle von Zeichen<LF>
. Sie könnten das nachahmen, indem Sie so etwas tunWie das obige Beispiel zeigt, wird erwartet, dass die Eingabe unär ist. Die Idee des Codes besteht darin, drei Kopien der unären Eingabe (minus 1) mit jeweils einer Kopie der entsprechenden Zeile zu erstellen. Dann duplizieren wir wiederholt die letzten neun Zeichen vor a,
1
bis alle1
s verschwunden sind, und wiederholen dabei die Zeilen nach Bedarf. Zum Schluss entfernen wir das überflüssige Nachlaufen~
.quelle
Ich werde mit einem Paar anfangen, denke ich. Zum ersten Mal Golf spielen.
Aufgabe 1, Python,
3821 BytesSummiere eine Liste aller Würfel bis zu x. Ausdruck geändert dank xnor
Task 2, TI-Basic 89, 244 Byte
Nicht 100% sicher in diesem Fall, teste ich, wenn ich neue Batterien für meinen Taschenrechner finde. isPrime ist ein eingebauter, ipart ist ein ganzzahliger Teil (2.3 -> 2)
Aufgabe 3, Perl,
4534 BytesPerl-Datei 1 2 3 4 -> 2. Sparte dank @nutki ein paar Bytes. Wird gedruckt, anstatt als Variable zu speichern und dann als Variable zu drucken.
Aufgabe 4, Ruby,
4340 BytesZumindest funktioniert es in 1.9, keine Ahnung von 1.8. In der Binärdarstellung ist '10' * 16 (oder 2863311530) plus eine Zahl x oder mit dieser 10101010 ... die Negbinärdarstellung. Gibt eine Zeichenfolgendarstellung mit Anführungszeichen aus (3 -> "111" anstelle von 3 -> 111). Mathe kann nicht gefunden werden, um x in weniger Zeichen zu schreiben.
Task 5, Malbolge,
682354 BytesTest online hier Denken Sie diese so kurz ist , wie es gehen werde. Ich habe so viel Golf gespielt, wie ich konnte. 300 Bytes gespart, ja?
Task 6, Bash,
625040 Bytes% J wurde in einem anderen Beitrag entdeckt.
Aufgabe 10, Befunge-98, 121 Bytes
Geändert zu befunge-98. Alt war Befunge-93,
227 157147 Bytes. Benutzte Pilze, geschrieben in Haskell für die Prüfung. Benutzt das "do multiple times k" und fügt mit 'einzelne Zeichen zum Stack hinzu. Ich habe das Gefühl, es kann bis zu 110 oder weniger golfen werden, aber ich habe schon viel zu viel Zeit damit verbracht ...quelle
lambda n:(n*n-n)**2/4
0=fPart(expression) rather than
iPart (expression) = expression` in Ihrer TI-89 BASIC-Antwort verwenden.Erste Sache: Aufgabe 6 zählt technisch NICHT ; Ich habe unc vor weniger als einer Stunde hochgeladen . Allerdings habe ich es heute Morgen fast hochgeladen , mich aber dazu entschlossen, zuerst eine Testsuite zu schreiben. Dummkopf.
Also, auf jeden Fall geht es los!
Beachten Sie, dass die meisten Unc-Dinge absichtlich rückwärts sind, also
&&
wirklich so||
und so, weshalb einige Operationen seltsam aussehen (z. B. mit-
, um den Würfel zu berechnen).Aufgabe 1, Haskell, 21 Bytes
Aufgabe 2, Hy, 135 Bytes
Aufgabe 3, Dart, 37 Bytes
Meine erste Dart Funktion!
Task 5, INTERCAL, 1047 Bytes
Aufgabe 6, unc, 157 Bytes
Task 8, RS, 42 Bytes
Live-Demo.
Aufgabe 10, Pyth, 46 Bytes
Live-Demo.
quelle
!include
s brauchen . Nicht ganz sicher, welches.stdio.h
, zweitens isttime.h
. Ich brauche beides.unc
der C-Code kompiliert? GCC wird gut funktionieren ohnestdio.h
. Ich bin mir nicht sichertime.h
.Aufgabe 1, APL, 7 Bytes
Sie können es online mit ngn / apl versuchen , obwohl es mit jeder APL-Implementierung funktioniert, die standardmäßig einen Indexursprung von 0 verwendet.
Dabei wird jede Ganzzahl von 0 an die Eingabe (
⍳⎕
) -1 gewürfelt, indem⍨
die Argumente an den Energieoperator ( ) gewechselt werden*
. Der resultierende Vektor wird durch Summieren (+/
) reduziert und ein Skalar zurückgegeben.Aufgabe 2, Julia, 42 Bytes
Dadurch wird eine anonyme Funktion erstellt, die eine Ganzzahl als Eingabe akzeptiert und einen Booleschen Wert zurückgibt. Um es zu nennen, geben Sie ihm einen Namen, z
f=n->...
.Zuerst verwenden wir Julias eingebaute Funktion
isprime
, um zu überprüfen, obn
es sich um eine Primzahl handelt. Wenn dies der Fall ist, überprüfen wir, oblog2(n+1)
es sich um eine Ganzzahl handelt. Wenn ja,n
kann wie2^k-1
für einige geschriebenk
werden und ist somitn
eine Mersenne-Primzahl.Aufgabe 3, ELI , 19 Bytes
Dadurch wird eine Monade erstellt
f
, die den Median des Eingabevektors zurückgibt.Ungolfed + Erklärung:
Beispiele:
Aufgabe 4, Oktave, 39 Bytes
Dadurch wird ein Funktionshandle erstellt, das eine Ganzzahl als Eingabe akzeptiert und die zugehörige Negabinary-Zeichenfolge zurückgibt. Um es aufzurufen, geben Sie ihm zB einen Namen
f=@...
und führen Sie es mit ausfeval(f, <input>)
.Sie können es online ausprobieren .
Task 5, CJam, 47 Bytes
Die Zeichenfolge wird einfach auf STDOUT gedruckt. Sie können es online ausprobieren, wenn Sie dazu neigen.
Aufgabe 6, Windows Batch, 46 Bytes
Die Variable
%date%
enthält das aktuelle Datum im FormularThu 06/25/2015
. Wir können den Monat und den Tag auswählen , indem die Teillängen bekommen 5 , nachdem sie die ersten 4 Zeichen Überspringen:%date:~4,5%
. Von dort aus überprüfen wir nur, ob es der 1. Januar ist und sagen Frohes Neues Jahr, wenn es so ist.Aufgabe 7, Pyth, 26 Bytes
Zuerst weisen wir
G
den Bereich 13312 bis einschließlich 19894 zu. Dann schleifen wir 64-mal, und bei jeder Iteration mischen wirG
(.SG
), entfernen und geben das letzte Element (.(
) zurück und drucken seine Zeichendarstellung (pC
).Sie können es online ausprobieren .
Aufgabe 8, Ruby, 36 Bytes
Dies definiert eine Funktion,
f
die zwei Zeichenfolgen akzeptierta
undb
in dera
sich die Zeichenfolge befindet, die gesucht werden sollb
.Alles außer den Zeichen in
a
wird aus derb
Verwendung entfernt.tr()
und wir prüfen, ob das Ergebnisa
genau using enthält[]
. Dies wird zurückkehren ,nil
wenn die Zeichenfolge nicht gefunden, so dass wir einen Booleschen Wert , indem Sie bekommen!
mit.nil?
.Task 9, R, 16 Bytes
Dies schafft ein unbenannte Funktionsobjekt , das jede Art von Anordnung oder Matrix annimmt
x
und eine ganze Zahln
und multipliziert jedes Elementx
durchn
. Wenn Sie möchten, können Sie es online ausprobieren .Task 10, Python 3, 92 Bytes
Ziemlich einfach. Sie können es online ausprobieren .
quelle
Aufgabe 1,> <>, 10 + 3 = 13 Bytes
Führen Sie dies mit der offiziellen Python-Interpreter unter Verwendung des
-v
Flags aus (zu einem Preis von 3 Byte). Dies quadriert die Menge(n - n*n)
und dividiert durch4
, was natürlich gleichbedeutend ist mit Quadrieren(n*n - n)
und Dividieren durch4
.Task 2, GAP,
6362 Bytes(Sie haben einen Platz gespart, indem Sie die Gleichheit umgekehrt geschrieben haben.)
Aufgabe 3, R,
43,39 BytesVielen Dank an Plannapus für die nette Verbesserung!
Aufgabe 4, Piet,
1551351155 * 19 = 95 CodelsTesten Sie diesen Online-Dolmetscher mit Codel-Größe 13. Oder verwenden Sie Ihren bevorzugten Dolmetscher - lassen Sie es mich wissen, wenn Sie einen haben, den Sie mögen!
Ausgabe erstellen
0
0
war unpraktisch, anstelle der leeren Zeichenfolge für die Eingabe . Ich habe am Anfang ein Wenn-Dann verwendet, um mich um diesen Fall zu kümmern. dann eine while-Schleife zum Berechnen der Ziffern in einem Fall ungleich Null und schließlich eine weitere while-Schleife am Ende, um die Ziffern vom Stapel auszugeben.Vielen Dank an Sp3000 für einige sehr hilfreiche Kommentare, die mir geholfen haben, einige Codels zu speichern!
Aufgabe 5, Lua, 52 Bytes
Sie können es hier ausprobieren .
Task 6, LaTeX,
157139136127128 BytesWenn das Produkt des Tages und des Monats ist
1
, drucken Sie die Nachricht aus. sonst nichts. (Neujahr ist für dieses Design besonders praktisch: Da die gesuchte Ausgabe1
nur eineor
Anweisung ist , wird nur eine Anweisung benötigt. Dien
th-or
Anweisung gibt das Verhalten für den Wert ann
.)Hinweis: In meiner vorherigen Version fehlte der Zeilenumbruch, was ein Fehler war. (Ich habe versucht, diese Funktion zu testen, aber es kann eine Weile dauern, bis ich sie richtig getestet habe ...)
Meine ursprüngliche Version verwendete die
calc
Paket, das viel praktischer war als meine aktuelle Version. Etwas zu beachten für das "echte Leben"!Aufgabe 7, Ruby, 62 Bytes
Aufgabe 8, JavaScript, 78 Bytes
Rekursive Lösung, die prüft, ob
l
es sich um eine Teilzeichenfolge von handeltm
. Wennl
leer ist,!l
führt dies zutrue
und die Funktion wird beendet. (In diesem Falll[0]
ist undefiniert, aber JavaScript ist in Ordnung.) Andernfalls wird nach der ersten Instanz vonl[0]
in gesuchtm
. Wenn es keine findet,m.indexOf(l[0])
führt dies zu-1
und damitu
zu0
und die Funktion wird beendet.Andernfalls werden der erste Eintrag von
l
und die erstenu
Einträge von entferntm
und die Überprüfung fortgesetzt.Task 9, Python,
7260 BytesDrilldown bis zur "untersten Ebene", wo
a
keine Liste mehr vorhanden ist, sondern nur eine Ganzzahl, und dann Multiplikation.Vielen Dank an Dennis, der mir 12 Bytes gespart hat!
Task 10, Groovy, 81 Bytes
Probieren Sie es hier aus . Ich habe ursprünglich versucht, so etwas wie die Python-
.join()
Methode für Strings zu implementieren , bei der Strings mit einem bestimmten "Verbindungsstring" zusammengefügt werden (wie die Verbindungen zwischen Eisenbahnwaggons). Aber das hat viel mehr gekostet als gespart.Ich hoffe, ich habe keine Konventionen für akzeptable Antworten in diesen verschiedenen Sprachen missachtet.
Vielen Dank an Dennis für eine fantastische Herausforderung!
quelle
except:return n*a
spart ein paar Bytes für Aufgabe 9. Für Aufgabe 1 würde ich das-v
Flag als ein Byte zählen.-v
Flag durch ersetzen könneni
(obwohl ich denke, dass es gut wäre, wenn beide Versionen erwähnt würden, um das Testen zu vereinfachen).-
,v
). Ich meinte nur, dass Sie die Möglichkeit haben, Eingaben als Codepunkt über diei
Anweisung zu übernehmen.Aufgabe 1, Pyth, 5 Bytes
Nimmt die Nummer von stdin. Vielen Dank an @Jakube für den Hinweis auf die Nutzlosen
U
.Aufgabe 6, Javascript, 56 Bytes
Task 7, CJam, 16 Bytes
Erzeugt Reichweite, mischt, wählt die ersten 64 aus und ordnet das Hinzufügen des Startwerts und das Umwandeln in Zeichen zu. 14 Zeichen, 16 Bytes.
Aufgabe 8, Oktave, 23 Bytes
Definiert anonyme Funktion.
Aufgabe 5, PHP, 45 Bytes
Keine Komprimierung, druckt nur.
Task 9, APL 1 Byte
Das gleiche wie die K-Antwort.
quelle
.slice(4, 10)
?/an 01/.test(Date())
.)Task 1, R,
2119 BytesZiemliech direkt. Eingabe von STDIN.
Task 2, Perl,
4066 BytesPrim Checker hinzugefügt (Abigails Prim Number Checker Regex)
Aufgabe 3, PARI / GP,
2422 BytesZum ersten Mal habe ich das angefasst. Könnte ein bisschen mehr davon lernen müssen.
Task 4, T-SQL, 235 Byte
Inline-Tabellenfunktion mit rekursivem CTE. Sehr groß, aber macht Spaß.
Benutzen
Aufgabe 5, GAP, 48 Bytes
Aufgabe 6, Excel,
5148 BytesDanke an @Bond für die 3 Bytes.
Task 7, Python 2.6,
989385 BytesDies ist das erste Mal, dass ich versucht habe, etwas in Python zu tun. Könnte also viel besser sein. Vielen Dank an @Dennis und @Jacob für die tollen Tipps
Task 8, TCL, 57 Bytes
Schade, dass das Entfernen von Leerzeichen dies zunichte macht
Aufgabe 9, Hecht, 53 Bytes
Eine Funktion, die das multiplizierte Array zurückgibt
Aufgabe 10, Powershell, 88 Bytes
Eine PowerShell-Funktion. Ich denke, ich kann es ein bisschen verkürzen, aber hier ist es im Moment.
Und endlich fertig :)
quelle
=IF(TEXT(NOW(),"md")="11","Happy New Year!","")
.l[:63]
sollte aber funktionieren und(13312,19894)
ist kürzer als die hexadezimalen Konstanten (und die Summe).range(19892,0x4DB5+1)
gab mir[19892, 19893]
Aufgabe 2, J, 10 Bytes
Stellt eine boolesche 0 oder 1 voran, wenn die Eingabe der Binärdarstellung entspricht, und übernimmt das Produkt. Arbeitet an der aktuellen Version von J.
Aufgabe 5, HTML, 45 Bytes
Aufgabe 6, Fisch, 53 Bytes
Basierend auf der Bash-Antwort.
Task 8, APL, 12 Bytes
Dies ist ein Funktionsausdruck. Es vergleicht die Reihenfolge der Zeichen in der größeren Zeichenfolge mit der erwarteten Reihenfolge, wenn sie sortiert werden.
Task 9, K, 1 Byte
Sollte in jeder Version funktionieren. Arithmetische Operationen werden auf Arrays verteilt.
quelle
abc
caxbxc
.Aufgabe 1, Ruby, 40 Bytes
Zum ersten Mal überhaupt etwas in Ruby zu schreiben. Getestet mit Rubin 1.8.7.
Aufgabe 2, R, 50 Bytes
Berechnet
p
, prüft, ob es sich um eine Ganzzahl handelt und ob n und p Primzahlen sind.Aufgabe 5, PostgreSQL, 54 Bytes
Aufgabe 6, Lua, 55 Bytes
Aufgabe 8, Python, 65 Bytes
Verwendungszweck:
Aufgabe 10, Julia, 73 Bytes
Vielen Dank an @AlexA. für die Hilfe bei der Kürzung dieses Codes! Beispiel für Ausgänge:
quelle
log2
f(n)=
mitn->
) verwendet wurde und1:(9*n-1)
einfach1:9n-1
.\n
aus Gewohnheit als 1 Byte gezählt .(" "*"_"^6*" ")^n
, können Sie" ______ "^n
(ebenfalls für das| |
Teil) verwenden. 70 Bytesn->print(" ______ "^n*"\n"*"| | "^n*"\n"*(" ()--() ~"^n)[1:9n-1])
. (Das Leerzeichen zwischen den Balken wird hier jedoch nicht angezeigt)Aufgabe 1, Haskell, 17 Bytes
Aufgabe 2, Mathematica, 30 Bytes
Aufgabe 3, JavaScript, 46 Bytes
Aufgabe 5, MATLAB, 47 Bytes
Aufgabe 6, Ruby, 56 Bytes
Task 7, Python, 106 Bytes (Einrücken mit
\t
)Beachten Sie, dass die einfache Verwendung von
list(set(s))
hier nicht funktioniert, da dies aufgrund der Neuordnung von Listenelementen zu einer ungleichmäßigen Wahrscheinlichkeitsverteilung im Bereich aller möglichen Zeichenfolgen führt .quelle
(x*x-x)^2/4
?if c not in s:s+=c
alles in eine Zeile setzen und dabei ein paar Zeichen speichern. Auch0x3400
kann ersetzt werden13312
, was ein Zeichen kürzer ist (und ähnlich für 0x4db5). Schließlich wird die Anzahl der Zeichen nicht geändert. Wenn Ihnen der Tabulator-Einzug nicht gefällt, können Sie ihn stattdessen mit einem einzelnen Leerzeichen einrücken.Aufgabe 1, Haskell, 15 Bytes
Aufgabe 2, Julia, 28 Bytes
Aufgabe 3, Oktave, 30 Bytes
Aufgabe 5, Yacas , 45 Bytes
Aufgabe 6, Mathematica, 46 Bytes
Task 9, PARI / GP, 10 Bytes
quelle
Task 3, Clip, 13 Bytes
Andere Version:
Das
`
schien zu viel zu kosten.Aufgabe 4, KSFTgolf, 16 Bytes
Der Dolmetscher ist da. Ich bin nicht sicher, was ich tue ... Es wird das Negabinary drucken und dann abstürzen.
Es gibt einen Fehler im Interpreter. Oder ich kann es mit der integrierten Basiskonvertierung auf 12 Byte reduzieren (aber es funktioniert nur mit positiven ganzen Zahlen):
Ursprüngliche CJam-Version:
Ich habe Pip, Ostrich, Clip und Burlesque ausprobiert, um herauszufinden, ob es einen Esolang mit eingebautem Negabinary gibt. Keiner von ihnen hat funktioniert. Es wurde KSFTgolf verwendet
numpy
, das sich bei negativer Basis anscheinend merkwürdig verhält. Aber es ist nicht einfach, es mit nicht positiven Zahlen zu machen.Task 7, CJam, 15 Bytes
Task 8, APL, 21 Bytes
Probieren Sie es online aus.
quelle
Aufgabe 2, x86-Plasma, 40 Bytes
(ausgenommen Header, MessageBox usw. - nur relevante Bytes)
Aufgabe 3, C, 136 Bytes
Kompilieren Sie mit
gcc -o Prime main.c
Task 10, C ++, 478 Bytes
Kompilieren Sie mit
g++ -o Trucks main.cpp
C & C ++ kann gekürzt werden, aber es würde Compilerfehler hinzufügen. Ich kenne die genauen Regeln nicht und habe versucht, den Code ohne Compilerfehler zu hinterlassen.
quelle
Aufgabe 1, Python, 35 Bytes
Task 3, CJam, 9 Bytes
Aufgabe 4, JavaScript,
5553 BytesAufgabe 5, Pyth, 46 Bytes
Task 6, C #, 65 Bytes
quelle
Aufgabe 1, jq, 24 Bytes
Aufgabe 6, PostgreSQL, 54 Bytes
quelle
Task 1, Cjam, 7 Bytes
Edit: Gerade bemerkt, dass Martin dies vor mir gepostet hat. Ich werde etwas anderes versuchen ...
Aufgabe 3, Python, 30 Bytes
Python 2.
Aufgabe 5, ///, 45 Bytes
/// gibt nur etwas ohne
/
Zeichen aus.Aufgabe 7, Pyth, 19 Bytes
Programm. Bitte sag mir, ob ich die Mathematik durcheinander gebracht habe. Probieren Sie es hier aus
Aufgabe 9, Oktave, 9 Bytes
Handle für anonyme Funktionen. Octave macht dies automatisch mit matrix * scalar.
quelle
.S
Shuffle, und Sie könnens
um anstelle von verwendenjk
.Ich habe keine Zeit gefunden, sie alle zu versuchen, aber hier ist ein Anfang
Aufgabe 1, Gleichstrom, 8 Bytes
Eingabe und Ausgabe gemäß
dc
Konvention nach oben .Aufgabe 5, Emacs Lisp, 46 Bytes
Missbrauch der Regeln:
Das Beste, was ich durch das Entpacken aus einer komprimierten Form erreichen konnte, war 55 in Perl:
(Die obigen nicht druckbaren Zeichen werden von SE unkenntlich gemacht, aber da dies nicht meine eigentliche Antwort ist, behebe ich sie nicht.)
Task 6, SQL, 54 Bytes
Ich halte die ersten zehn Tage im Januar für "angemessene" Tage für diesen Gruß, aber Sie können sich nach Belieben anpassen. Das
now() LIKE
Konstrukt funktioniert kürzer als das Extrahieren des Tages des Jahres mitDATE_FORMAT(now(),'%j')
.Aufgabe 10, sed, 58 Bytes
Eingabe in unary.
quelle
strstr
sucht nach Teilzeichenfolgen, nicht nach Teilfolgen. Ich fürchte, Aufgabe 5 ist kolmogorov-komplex. Das Abrufen des Wortes aus einem Wörterbuch ist vielleicht klug, aber nicht zulässig.Aufgabe 5, MarioGolf , 50 Bytes
Dies war eine Sprache, die ich seit einiger Zeit entwickelt habe.
Die aktuelle Version bietet genügend Funktionen, um diese Herausforderung auszuführen.
Sie können es online unter http://htmlpreview.github.io/?https://raw.githubusercontent.com/ismael-miguel/mariogolf/master/js/testpage.html#c:Y|<pneumonoultramicroscopicsilicovolcanoconiosis|O ausprobieren
Derzeit wird die Entwicklung gestoppt und die Implementierung ist unvollständig.
Das letzte Commit war am 13. März 2015.
Aufgabe 6, PHP, 37 Bytes
Dieser ist wirklich einfach und macht Spaß!
Aufgabe 10, Javascript, 121 Byes
Ja, nicht so golfen ...
Aber es macht den Job!
Versuch es:
Code-Snippet anzeigen
Der Code wird im Stack-Snippet nicht gut angezeigt, da er
"
in der Ausgabe mit beginnt . Zusätzliche Leerzeichen wurden hinzugefügt, um dies auszugleichen.Der ursprüngliche Code kann problemlos auf der Chrome-Konsole ausgeführt werden, und die Ausgabe entspricht den Erwartungen.
quelle
date(dM)
? Hier wird "25Jun" zurückgegeben. (Gebietsschema auf en_US gesetzt) Vielleicht würden "j" und "n" besser funktionieren, da "d" und "m" die auf Breite 2Task 1, CJam, 10 Bytes
Versuch es hier
Aufgabe 5, Retina, 46 Bytes
quelle
Aufgabe 1, Oktave, 15 Bytes
EDIT: Ich dachte, ich hätte dies hinzugefügt, aber es scheint, als hätte ich vergessen zu speichern: Dies nutzt die Tatsache, dass
sum(1^3+2^3+3^3+...+n^3) = sum(1+2+3+...+n)^2 = [n*(n+1)/2]^2
Aufgabe 3, Javascript, 24 Bytes
quelle
Okay, lassen Sie uns zuerst die einfachen Dinge erledigen:
Task 5, ASP, 45 Bytes
Aufgabe 6, JavaScript, 46 Bytes
quelle
Aufgabe 1, VBA, 126 Bytes
Ich habe keine Ahnung, wie man in VBA Golf spielt. Ich habe kein Leerzeichen eingegeben, VBA fügt automatisch Leerzeichen ein.
=f(5)
In einer Zelle in Excel wird 100 angezeigt.Aufgabe 2, Oktave, 32 Bytes
Aufgabe 5, Golfscript, 47 Bytes
Task 9, MATLAB, 9 Bytes
Nun, es ist ein Anfang ...
quelle