Bearbeiten: Darf Leerzeichen wiederverwenden.
Ihre Aufgabe ist es, n Programme (oder Funktionen oder Funktionskörper ohne Verwendung von Parametern oder Funktionsnamen) in derselben Sprache zu schreiben . Das k- te Programm sollte die (Kardinal-) Zahl k in Standard-Englisch in Kleinbuchstaben ausgeben (mit optionalem abschließendem Zeilenumbruch). Das erste Programm sollte also ausgegeben werden one
, das zweite sollte ausgegeben two
werden usw. Bei einer Zahl mit zwei Teilen sollten diese durch einen Bindestrich getrennt werden twenty-one
.
Zwei Programme in Ihrer Übermittlung können jedoch keine Nicht-Leerzeichen oder Leerzeichen gemeinsam verwenden, um nützliche Arbeiten auszuführen. Wenn zum Beispiel Ihr erstes Programm gerade ist "one"
, dann kann keines von "
o
n
und e
wieder in Ihren anderen Programmen verwendet werden.
Sie können in zwei oder mehr Programmen Leerzeichen (Leerzeichen, Zeilenumbrüche und Tabulatoren) verwenden, wenn diese nur als Trennzeichen oder Einrückung dienen und nichts für sich tun. Sie können sie also nicht in der Whitespace- Sprache wiederverwenden und Sie können sie nicht in Zeichenfolgen in mehr als einem Programm verwenden.
Sie können nur druckbare ASCII-Zeichen, Tabulatoren und Zeilenumbrüche (einschließlich CR und LF) verwenden. Jedes Programm muss mindestens 1 Zeichen enthalten.
Ihre Punktzahl ist die Summe von 1 / Programmgröße ^ 1,5. Höchste Punktzahl gewinnt. Sie können dieses Stack-Snippet ( oder diesen CJam-Code ) verwenden, um Ihre Punktzahl zu berechnen:
function updatescore(a){var l=a.value.split("\n"),s=0;for(var i=0;i<l.length;i++){var t=l[i].length;t-=t&&l[i][t-1]=="\r";if(t)s+=Math.pow(t,-1.5);}document.getElementById('result').textContent=s;}
<textarea id="input" placeholder="Put your code here, one per line." style="width:100%;height:150px;box-sizing:border-box" oninput="updatescore(this)" onpropertychange="updatescore(this)"></textarea><div>Your score: <span id="result">0</span></div>