Sie müssen drei Dinge machen:
- Aussage einer Aufgabe, T .
- Lösung der Aufgabe in einer Sprache, die normalerweise nicht zum Golfen verwendet wird, ein .
- Lösung der Aufgabe in der Sprache typisch für Golf, verwendet B . Versuchen Sie nicht, nur B aufzublähen , um die Punktzahl zu erhöhen , sondern denken Sie, als ob B von Ihrem Konkurrenten geschrieben wurde.
Verwenden Sie gesunden Menschenverstand bei der Definition typically used for golfing
und versuchen Sie, den Spaß für andere Benutzer zu maximieren.
Andere Benutzer können bessere Vorschläge machen B
s (möglicherweise auch in anderen "Golf" -Sprachen).
Wertung ist (length_in_bytes(B)+5)/(length_in_bytes(A)+5)
, mehr ist besser. (Vielleicht sollte die Bewertungsformel geändert werden? ..)
Die Hauptidee ist es, eine Aufgabe zu erfinden, bei der Sprachen, die im Codegolf normalerweise gute Leistungen erbringen, auf ein Problem stoßen. Es kann die plötzliche Stärke einer gewöhnlichen Sprache in der gegebenen Aufgabe oder die plötzliche Schwäche eines Golflangs sein.
Vermeiden Sie Aufgaben, die bestimmte Programmiersprachen erwähnen, wie z Input a string and execute it as a Scheme code
.
Antworten:
Meine vorherige Frage, Drucken einer Sinuswelle (vertikal), wird in diesem Moment beantwortet. Ich poste es hier als Lösung und hoffe auch, dass ihr ein paar kürzere Lösungen für meine ursprüngliche Frage finden könnt.
Wie von Vi. Gefordert, werde ich eine Zusammenfassung der Frage posten.
Drucken Sie eine kontinuierliche Sinuswelle, die vertikal auf einem Terminal gescrollt wird. Das Programm sollte nicht beendet werden und die Welle kontinuierlich nach unten rollen (außer bis SIGINT). Sie können davon ausgehen, dass ein Überlauf kein Problem darstellt (dh Sie können Endlosschleifen mit inkrementierenden Zählern oder eine Endlosrekursion verwenden).
Die Welle sollte die folgenden Eigenschaften erfüllen:
|
Zu meiner ursprünglichen Frage gibt es eine Beispielausgabe, die ich hier jedoch nicht veröffentliche, da meine Antwort dadurch lächerlich lang wird. Meine ursprüngliche Frage ist hier zu sehen: Drucken einer Sinuswelle (vertikal)
Kürzeste
A
derzeit: eine Perl-Lösung mit 48 Zeichen: https://codegolf.stackexchange.com/a/18655/12205Kürzeste
B
derzeit: eine J-Lösung mit 54 Zeichen: https://codegolf.stackexchange.com/a/18649/12205Derzeit ist die Punktzahl dieser Antwort 1.113 (eine schrecklich niedrige Punktzahl)
quelle
Addiere zwei Zahlen
Holen Sie sich zwei Zahlen von STDIN und addieren Sie sie. Sie müssen Gleitkommazahlen unterstützen, also muss 0,5 + 1,5 gleich 2 sein.
Perl 5 (mit
-E
)GolfScript
quelle
(24+5)/(8+2+5) = 1.9(3)
.-E
Wird auch als Programmbyte gezählt.n%'+'*'"#{ }"'n/\*~
wenn das Zeichen dazwischen{}
eine wörtliche Newline ist (in Kommentaren nicht unterstützt).+/".1!:1,~1
. APL wäre wahrscheinlich noch kleiner."Hallo, Welt!" zur stdout.
PHP, 13 Bytes
Golfscript, 15 Bytes
Pyth, 14 Bytes
quelle
H
Ergebnis 48/37 oder 1. (297)
T: Schreiben Sie ein Code-Snippet, das das Programm nach genau einer Stunde (so nah wie möglich, wie innerhalb einer Sekunde) beendet. Mach dir keine Sorgen über Ausnahmen, sie können unbehandelt bleiben.
A: Java (32)
B: ist für Befunge 98, benötigt den TIME-Fingerabdruck (43)
Dies dauert die Stunde, Minute und Sekunde zum Zeitpunkt der Ausführung und setzt die at-Zellen 02, 01 und 00. Dann überspringt
;
es den zweiten Teil. Der zweite Teil funktioniert wie folgt:ähnlich für die Minute und Stunde.
Beachten Sie, dass Befunge automatisch zum Zeilenanfang zurückkehrt, wenn das Zeilenende erreicht ist.
Wie wir sehen können, ist Befunge nicht gut, wenn es darum geht, auf bestimmte Zeiten zu warten. Java ist jedoch nicht schlecht.
quelle
⎕DL 3600
class Main{public static void main
...System.exit(0);
einemain
Methode erfordern oder Ihren Schlaf in eine Methode einwickeln .error: not a statement
Ausgabe einer bestimmten Textdatei (498.388888 Punkte)
Die Zielausgabe ist hier .
Das zu druckende Python 3.4.3-Skript ist 49 Byte groß:
Das naive CJam-Programm, das der Zielausgabe entspricht, indem es die Ausgabezeichenfolge einschließt
"..."
und jede"
darin vorkommende Zeichenfolge maskiert, würde 26908 Bytes umfassen.quelle
Sag "Hallo Welt!" (50/26 ≈ 1,92)
Zeigen Sie ein Meldungsfeld mit der Aufschrift "Hallo Welt!"
JavaScript
In einem Browser mit Unterstützung für DOM Level 0+.
Perl
Laufen auf ActivePerl mit Win32 :: GUI.
quelle
alert
ist nicht von Natur aus Teil von JS, und das GolfScript-Programm ist nur ein Kommentar.Ausgabe "Hallo Welt!" bis der Benutzer "q" drückt,
1,842105/44 = 2,386QBasic (
5239 Zeichen)Seit dem Posten meiner ursprünglichen Antwort habe ich festgestellt, dass ich die automatische Formatierung in QB64 deaktivieren kann. : ^ D Mit der Zeilennummer und
?
Abkürzung fürPRINT
sieht dies eher wie ein ternärer Ausdruck in C-ähnlichen Sprachen aus.Erste Version:
Perl 5 (100 Zeichen)
Das obige funktioniert nur auf (bestimmten?) UNIX-Systemen (getestet unter Ubuntu 12.04). Es ist möglich, dass man mit dem Term :: ReadKey- Modul plattformübergreifend auf 91 Zeichen kommt , aber ich habe es nicht getestet:
quelle
Hallo Welt (3 1/3 Punkte)
Schreiben Sie ein Programm, das ausgibt
Hello World.
.HQ9 + (1 Zeichen)
Dies ist keine "typische" Sprache zum Golfen, daher glaube ich, dass sie hier passt. Funktioniert übrigens in diesem Interpreter .
GolfScript (15 Zeichen)
Ich bezweifle, dass es kürzer werden kann, auch wenn es GolfScript ist.
quelle
HQ9+
Anzüge eine Sprache sind. Es ist für Tricks / Rätsel / Spaß ausgelegt. Brainfuck / Unlambda / andere esoterische Sprachen scheinen ebenfalls nicht zu A zu passen .HQ9+
als B- Sprache zu verwenden und es mit Java oder so zu schlagen ...Ausgabe "Hallo Welt!", 33/97 = 2,94
Schreiben Sie ein Programm, das ausgibt
Hello world!
Arduino oder GML
oder
Beide sind 28 Zeichen.
AGB
Ich benutze GTB viel zum Golfen (zumal ich es selbst erstellt habe und es ist Turing complete). Leider gibt es nur eine eingeschränkte Unterstützung für Kleinbuchstaben (da der TI-84-Rechner damit nicht umgehen kann). Dies ist wahrscheinlich das kürzeste GTB-Programm, das Hello World ausgeben kann!
92 Zeichen.
quelle
cos
sexprs
überfüllt und kann wirklich nicht einfach etwas auf normale Weise ausgeben? Oder"
Charakter ist eigentlich keine Zeichenfolge wörtlich und verwirrt mich ..."Hello world!"