Musisz zrobić trzy rzeczy:
- Zestawienie zadania, T .
- Rozwiązanie zadania w języku nie są zwykle używane do gry w golfa, A .
- Rozwiązanie zadania w języku zwykle używane do golfa, B . Nie próbuj po prostu nadmuchać B, aby zwiększyć wynik, zamiast tego pomyśl, jakby B został napisany przez twojego zawodnika.
Definiując typically used for golfing
, kieruj się zdrowym rozsądkiem , staraj się maksymalizować zabawę innym użytkownikom.
Inni użytkownicy mogą proponować lepsze B
(np. W innych językach „golfowych”).
Punktacja jest taka (length_in_bytes(B)+5)/(length_in_bytes(A)+5)
, im więcej, tym lepiej. (Może formuła punktacji powinna zostać zmieniona?)
Główną ideą jest wynalezienie zadania, w którym języki, które zwykle działają dobrze w codegolf, napotykają problem. Może to być nagła siła zwykłego języka w danym zadaniu lub nagła słabość jakiegoś golfa.
Unikaj zadań, które wspominają o określonych językach programowania, takich jak Input a string and execute it as a Scheme code
.
Odpowiedzi:
Moje poprzednie pytanie, Drukuj falę sinusoidalną (pionowo), kwalifikuje się w tym momencie. Zamieszczam to tutaj jako rozwiązanie, mając również nadzieję, że wymyślicie krótsze rozwiązania mojego pierwotnego pytania.
Zgodnie z wymaganiami Vi. Opublikuję streszczenie pytania.
Wydrukuj ciągłą falę sinusoidalną przewijaną pionowo na terminalu. Program nie powinien się kończyć i powinien stale przewijać falę w dół (z wyjątkiem SIGINT). Możesz założyć, że przepełnienie nie stanowi problemu (tzn. Możesz używać nieskończonych pętli z licznikami rosnącymi lub nieskończoną rekurencją).
Fala powinna spełniać następujące właściwości:
|
Moje oryginalne pytanie zawiera przykładowy wynik, ale nie zamieszczam go tutaj, ponieważ dzięki temu moja odpowiedź będzie śmiesznie długa. Moje oryginalne pytanie można zobaczyć tutaj: Wydrukuj sinusoidalną falę (pionowo)
Najkrótszy
A
obecnie: rozwiązanie Perla z 48 znakami: https://codegolf.stackexchange.com/a/18655/12205Najkrótszy
B
obecnie: rozwiązanie J z 54 znakami: https://codegolf.stackexchange.com/a/18649/12205Obecnie wynik tej odpowiedzi to 1,133 (okropnie niski wynik)
źródło
Dodaj dwie liczby
Uzyskaj dwie liczby ze STDIN i dodaj je razem. Musisz obsługiwać liczby zmiennoprzecinkowe, więc 0,5 + 1,5 musi być równe 2.
Perl 5 (z
-E
)GolfScript
źródło
(24+5)/(8+2+5) = 1.9(3)
.-E
również liczone jako bajty programu.n%'+'*'"#{ }"'n/\*~
tam, gdzie znak pomiędzy{}
jest dosłowną nową linią (nie obsługiwaną w komentarzach).+/".1!:1,~1
. APL prawdopodobnie byłby jeszcze mniejszy.Drukuj „Witaj, świecie!” na standardowe wyjście.
PHP, 13 bajtów
Golfscript, 15 bajtów
Pyth, 14 bajtów
źródło
H
Ocena 48/37 lub 1. (297)
T: napisz fragment kodu, który kończy program po dokładnie godzinie (jak najbliżej, jak w ciągu sekundy) od uruchomienia. Nie martw się o wyjątki, można sobie z nimi poradzić.
Odp .: Java (32)
B: dotyczy Befunge 98, wymaga odcisku palca TIME (43)
Zajmuje to godzinę, minutę i sekundę w czasie działania i umieszcza komórki w komórkach 02, 01 i 00. Następnie przeskakuje
;
do drugiej części. Druga część działa w następujący sposób:podobnie dla minuty i godziny.
Zauważ, że Befunge automatycznie wróci na początek linii, gdy dojdzie do końca linii.
Jak widzimy, Befunge nie jest dobry, jeśli chodzi o czekanie na określone czasy. Jednak Java nie jest zła.
źródło
⎕DL 3600
class Main{public static void main
...System.exit(0);
snu lub otulenia snumain
metodą.error: not a statement
Wyjście określonego pliku tekstowego (498.388888 punktów)
Dane wyjściowe celu są tutaj .
Skrypt do wydrukowania w Pythonie 3.4.3 ma 49 bajtów:
Naiwny program CJam równy wyjściowemu celowi, poprzez zawijanie ciągu wyjściowego
"..."
i unikanie każdego"
występującego w nim, miałby 26908 bajtów.źródło
Powiedz „Witaj świecie!” (50/26 ≈ 1,92)
Pokaż okno komunikatu z komunikatem „Witaj świecie!”
JavaScript
W przeglądarce z obsługą DOM Level 0+.
Perl
Działa na ActivePerl z Win32 :: GUI.
źródło
alert
nie jest z natury częścią JS, a program GolfScript to tylko komentarz.Wyjście „Witaj świecie!” aż użytkownik naciśnie klawisz „q”,
1.842105/44 = 2,386QBasic (
5239 znaków)Od opublikowania mojej oryginalnej odpowiedzi odkryłem, że mogę wyłączyć automatyczne formatowanie w QB64. : ^ D Z numerem wiersza i
?
skrótem doPRINT
, wygląda to raczej na potrójne wyrażenie w językach podobnych do C.Pierwsza wersja:
Perl 5 (100 znaków)
Powyższe będzie działać tylko na (niektórych?) Systemach UNIX (testowanych na Ubuntu 12.04). Możliwe, że można przejść na wiele platform i sprowadzić do 91 znaków przy użyciu modułu Term :: ReadKey , ale nie przetestowałem tego:
źródło
Witaj, świecie (3 1/3 punktów)
Napisz program, który wyjdzie
Hello World.
.HQ9 + (1 znak)
To nie jest język „zwykle używany do gry w golfa”, więc uważam, że pasuje tutaj. Nawiasem mówiąc, działa w tym tłumaczu .
GolfScript (15 znaków)
Wątpię, czy może być krótszy, nawet jeśli jest to GolfScript.
źródło
HQ9+
garnitury jak A języku. Jest przeznaczony do sztuczek / zagadek / zabawy. Brainfuck / unlambda / inne języki esoterical również nie wydaje się garnitur jako A .HQ9+
jako języka B i pokonać go przez Javę lub coś takiego ...Wyjście „Witaj świecie!”, 33/97 = 2,94
Napisz program, który wyjdzie
Hello world!
Arduino lub GML
lub
Oba mają 28 znaków.
GTB
Używam GTB do gry w golfa (zwłaszcza, że sam go stworzyłem, a Turing jest kompletny). Niestety, obsługa małych liter jest ograniczona (ponieważ kalkulator TI-84 nie może sobie z tym poradzić). Jest to prawdopodobnie najkrótszy program GTB, który może wyświetlać Hello world!
92 znaków.
źródło
cos
s iexprs
czy naprawdę nie może po prostu wysyłać czegoś w zwykły sposób? Albo"
znak nie jest dosłownie ciągiem i wprawia mnie w zakłopotanie ..."Hello world!"