Zadanie: Niech twój program losowo wybierze jedno z dwóch poniższych cytatów w czasie wykonywania i wydrukuje ten jeden cytat, dokładnie tak jak pokazano.
1:
Under the spreading chestnut tree
I sold you and you sold me.
There lie they, and here lie we
Under the spreading chestnut tree.
2:
WAR IS PEACE.
FREEDOM IS SLAVERY.
IGNORANCE IS STRENGTH.
Ograniczenia: Słowa spreading
, chestnut
, PEACE
, FREEDOM
, i STRENGTH
musi pojawić się w kodzie. Żadne słowo z powyższych dwóch cytatów nie może pojawić się w kodzie więcej niż jeden raz .
Najkrótsze rozwiązanie wygrywa.
Odpowiedzi:
PHP 179
Zainspirowany odpowiedzią es1024 .
źródło
Perl (
191184 znaków)Dzięki @ core1024 za wskazówki dotyczące gry w golfa.
źródło
"you"
i użycie$$&1
jako generatora :)Java, 338
Nie mogę dostać poniżej 338 ...
Niegolfowane:
źródło
java.io.PrintStream p=System.out
, dodano łącznie 15 bajtówstatic<T>void p(T o){System.out.print(o);}
, dodano 12). Jakieś inne sugestie?JavaScript 229
254 256Edytuj 1, używając
new Date
sugestii @Doorknob - nadal nie jest dla mnie jasne, w jaki sposób javascript Dates zmienia się w ciągi znaków, liczby całkowite lub cokolwiek innegoEdycja 2 uproszczona. Dużo.
źródło
new Date
jest krótszy niżDate.now()
Date
konwersję: > Data JavaScript jest oparta na wartości czasu, która jest milisekundowa od północy 01 stycznia 1970 UTC. Dzień ma 86 400 000 milisekund. Zakres obiektu Data JavaScript wynosi od -100 000 000 dni do 100 000 000 dni w stosunku do 1 stycznia 1970 roku UTC. , kiedy&
to zrobisz , zostanie automatycznie przesłane doNumber
. Więc w zasadzie wybierasz losowo na podstawie tego, czy od1970-01-01T00:00:00.000Z
epoki będzie to parzysta czy nieparzysta milisekunda .C #
(268) (260)(256)Można to wykonać w LINQPad, używając
Dump()
metody:Nie golfowany:
Aktualizacja:
Za pomocą operatora trójskładnikowego i 1 dodatkowej zmiennej udało mi się wyciąć kolejne 6 znaków:
Nie golfowany:
Aktualizacja 2:
Dzięki pomysłowej sugestii
tsavinho
byłem w stanie zaoszczędzić 4 dodatkowe znaki, umieszczając nawiasy klamrowe wokół operacji trójskładnikowej:Nie golfowany:
źródło
Python 3 - 228
Nieznacznie nie golfista:
źródło
PowerShell 205
Używa
-f
operatora do umieszczenia ciągów w pierwszym cytacie, a do drugiego dołączaIS
, po czym wybiera losowy element z tych 2 cytatów i drukuje go ...źródło
JavaScript / jQuery 396
źródło
T-SQL,
337327Dla zabawy stworzyłem inne rozwiązanie w języku T-SQL, które jest o jeden bajt krótsze niż moje rozwiązanie Java 8:
Jeśli zadeklarujesz, że
char
jest za długi, możesz dodać „automatyczne” miejsce, oszczędzając kilka bajtów.Używając kodu w proponowanej edycji przez użytkownika PenutReaper, możesz rzeczywiście zgolić 10 bajtów.
źródło
Java Script (233)
Napisałem to, nie patrząc na inne odpowiedzi. Dobrze wykorzystuje zadania jako wyrażenia.
źródło
05AB1E , 119 bajtów
Wypróbuj online!
źródło
Python 3 , 222 bajty
Wypróbuj online!
źródło
C (gcc) ,
307289271270 bajtów-37 bajtów dzięki pułapkowi cat
Wypróbuj online!
źródło