Edycja: dozwolone ponowne użycie białych znaków.
Twoim zadaniem jest napisanie n programów (lub funkcji lub treści funkcji bez użycia parametrów lub nazw funkcji) w tym samym języku. K Program th powinien wyjście (kardynał) liczba k w standardowym angielskim małymi literami (z opcjonalnym znakiem nowej linii). Pierwszy program powinien wypisać one
, drugi powinien wypisać two
itd. W przypadku liczby składającej się z dwóch części powinny one być oddzielone myślnikiem twenty-one
.
Ale żaden z przesyłanych programów nie może udostępniać znaków innych niż białe znaki lub białych znaków wykonujących użyteczne prace. Na przykład, jeśli twój pierwszy program jest po prostu "one"
, wtedy żadna "
o
n
i e
mogą być ponownie wykorzystane w innych programach.
Możesz używać białych znaków (spacji, znaków nowej linii i tabulatorów) w dwóch lub więcej programach, jeśli służą one jedynie jako separatory lub wcięcia i nie robią nic samodzielnie. Dlatego nie można ich ponownie używać w języku białych znaków i nie można ich używać w ciągach znaków w więcej niż jednym programie.
Można używać tylko drukowalnych znaków ASCII, kart i znaków nowej linii (w tym CR i LF). Każdy program musi zawierać co najmniej 1 znak.
Twój wynik to suma 1 / rozmiar programu ^ 1,5. Najwyższy wynik wygrywa. Możesz użyć tego fragmentu stosu ( lub tego kodu CJam ), aby obliczyć swój wynik:
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>
źródło
Odpowiedzi:
gs2 , 0,38669200758867045
Usuń białe znaki ze wszystkich tych programów, ale trzy , to tylko dla czytelności (kaszel) . jeden i sześć to programy gs2, które ulegają awarii (przez przepełnienie stosu), co wygodnie sprawia, że są one quinesowane .
jeden (3 bajty)
dwa (1384 bajty)
trzy (92 bajty)
Wiele znaczących białych znaków, więc oto zrzut heksowy. Na początku ma znak pojedynczego wiersza:
cztery (276 bajtów)
pięć (178 bajtów)
sześć (3 bajty)
źródło
20
za pomocą7E
,09
(tab),0A
(LF) i0D
(CR), prawda?1
W pięciu był typo; Poszedłem i usunąłem to. Naprawię teraz trzy .CJam, 0,24075
Programy
Dzięki @ user23013 za jego sugestię użycia
'
przez sześć .Dane wyjściowe, długość, wynik, użyte znaki
Sprawdź wyniki samodzielnie w interpretatorze CJam .
źródło
Bezsenność , 0,100688383057110116
Na początek. Jest mało prawdopodobne, że wygra. Zgodnie z obecnym schematem punktacji każdy język, który może drukować
one
5 lub mniej znaków, ma ogromną przewagę.jeden (8 bajtów, 0,04419417382415922)
dwa (9 bajtów, 0,037037037037037035)
trzy (21 bajtów, 0,010391328106475828)
cztery (23 bajty, 0,009065844089438033)
źródło
Zagłówki , 0,044623631135793776
Wygenerowano tutaj
Ten język jest prostym podstawieniem BF, w którym liczy się tylko wartość modulo 8.
Niestety, dłuższe programy dają gorszy wynik, mimo że są w stanie dotrzeć do dwunastu ! (Mógłbym być wyższy, gdybym mógł użyć niedrukowalnych ASCII i Unicode.)
jeden
dwa
trzy
cztery
pięć
sześć
siedem
osiem
dziewięć
dziesięć
jedenaście
dwanaście
źródło
/// , 0,19245008972987526
Ta odpowiedź jest inspirowana odpowiedzią @ n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨d̷̰̀ĥ̷̳, w której powiedział
źródło
SmileBASIC, .10062
"jeden"
"dwa"
Moja druga odpowiedź jest bardziej interesująca, ale ta uzyskała wyższy wynik.
Ważną strategią uzyskania najdłuższego łańcucha jest użycie WIĘCEJ znaków do zapisywania znaków UNIKALNYCH (na przykład użycie
x - -x
w programie 2 do zapisaniay + y
dla programu 3)Problem z systemem oceniania polega na tym, że ocenia 2 krótkie programy lepiej niż 3 długie programy, więc nie ma powodu, aby zapisywać znaki dla późniejszych programów, jeśli wydłuży bieżący program.
Ponadto wartość poszczególnych krótkich programów jest większa niż mniejszy OGÓŁEM. Jeśli zamienię
?
iPRINT
w swojej odpowiedzi mogę uratować 1 postać, ale mój wynik to PÓŁ.Myślę, że lepiej byłoby oprzeć go tylko na liczbie programów, z całkowitym rozmiarem.
źródło
o
...