Zadanie
Utwórz program, który oblicza silnię liczby bez użycia wbudowanych funkcji silni. Łatwo? Problem polega na tym, że musisz napisać cały program (łącznie z testowaniem go) w formie haiku .
Możesz użyć tyle haikusów, ile potrzebujesz, ale po wymowie muszą być zgodne z formatem sylaby 5-7-5.
Punktacja
To konkurs popularności , więc aby wygrać, musisz uzyskać jak najwięcej pozytywnych opinii. Twój program musi składać się z co najmniej jednego pełnego haiku, a wszystkie haikusy muszą być kompletne.
Podczas czytania kodu, pierwszy wiersz każdego haiku będzie miał 5 sylab, drugi będzie miał 7, a trzeci będzie miał 5.
popularity-contest
Doktor
źródło
źródło
then
interpunkcja może pomóc w cięciu. Dla Kigo , nie jestem pewien ...Odpowiedzi:
Pogawędka
(oceniaj w obszarze roboczym; otwiera okno dialogowe, prosi o numer i drukuje wynik na standardowym wyjściu):
Starałem się przynieść refleksję („w tym wierszu”) i kigo. Uwzględniono również niektóre elementy rymów w stylu zachodnim (proszę-> te, czas-> rym); nie będąc jednak ojczystym językiem japońskim ani angielskim, nie wybaczaj żadnych szczegółów stylistycznych ;-)
źródło
Haskell
Czas edukacji w Haskell:
range x
Funkcja tworzy listę liczb całkowitych od 1 do wartościx
.fact x
Funkcja mnoży wszystkie wartości na liścierange x
razem, aby obliczyć wynik.fact
funkcja przyjmuje liczbę całkowitą i zwraca liczbę całkowitą.źródło
range x is 1 to x
jest 6 sylabJava - 2 haikus
Nawet jeśli pytanie nie jest golfem kodowym , często łapię się na graniu w odpowiedź. W tym przypadku grałem w golfa w liczbie haiku.
Mówię to tak:
Program testowy:
Zauważ, że ten program zaczyna wypisywać
0
s szybko; jest to wynikiem przepełnienia. Możesz łatwo uzyskać większe prawidłowe liczby, zmieniając każdyint
nalong
.Standardowe wymowy dla
System.out.println
ipublic static void main(String[] args)
są odzwierciedlone w programie.źródło
APL
źródło
factorial←×/⍳
„do wejścia”.Szekspir
Przypadek testowy (wyobrażony):
Pomimo swojej długości program ten przyjmuje tylko jedną liczbę całkowitą jako dane wejściowe i zapewnia jedną liczbę całkowitą jako dane wyjściowe. Więc:
(„Sześć, siedem dwadzieścia. / Siedem, pięć tysięcy czterdzieści. / Zero, jeden. Jeden, jeden.”)
źródło
Python 2, 4 Haikus
Kompletny program Python 2
haifac.py
. Uruchom jakopython haifac.py <n>
Wymowa:
źródło
#to me at once
żeby miernik działał ...GolfScript, 2 Haikus
Czytaj jako haiku, wyliczając każde naciśnięcie klawisza:
W przypadku testowym (5 haikus):
Czytaj jako haiku:
źródło
Naprzód
Fugu jest funkcją, a moja próba kigo : blowfish jest referencją zimową. Zamierzam
?do
być kireji , punktem zwrotnym, przed liczoną pętlą.źródło
PHP, 4 haikus
Wszystko w tym rymowaniu !
źródło
return plus plus stun
.Biała przestrzeń
Wykorzystuje to jedno z najbardziej znanych haiku i wiele o nim napisano.
Nie mam pojęcia, dlaczego nikt tego wcześniej nie zrobił, nawet nie wymaga to wysiłku!
Przede wszystkim, zanim przeczytam wiersz, chcę, abyście się oparli, zrelaksowali i cieszyli spokojem stworzonym przez wielką pustkę otaczającą wiersz. Podkreśla staw, otoczony rozległym krajobrazem.
kod źródłowy na filebin
Jeśli nie mówisz po japońsku, wymawia się to w następujący sposób:
Oczywiście jest liczony przez morae. Kireji jestや( ya ) The Kigo (odniesienie sezonowy) jest蛙( Kawazu , żaba, -> wiosna) .
Używając interpretera linux z oficjalnej strony, możesz go użyć w następujący sposób:
źródło
Matematyka
Pedanci mogą czytać ostatni wiersz jako „f z 1 to 1”, ale nie mogłem się oprzeć krzykowi Basho.
Testowanie:
Powracający:
Premia za wyróżnienie językowe Haiku (inspirowana @cormullion)
źródło
Partia
Wymowa ; ignoruje wyrażenia matematyczne oraz następujące symbole
@ / % ^ , ( )
:Uwaga; to oblicza silnię, ale jej nie wyprowadza - zmienna
t
zawiera silnię.Następujący kod Haiku / można dodać do tego samego pliku wsadowego, aby wyprowadzić silnię (te
|
są wymawiane jako potok):źródło
Clojure
źródło
FA#
źródło
newLISP
Nawiasy nie są wymawiane:
źródło
Perl
Wrzuć to do pliku o nazwie
f.pl
A wynik:
Który jest czytany jako:
źródło
LiveScript
Ten jest średniowieczny:
Drukuje
3628800
, czyli jest10!
. To trochę rondo: funkcjastory
zwraca funkcjęones-misery
, która zawsze zwraca odpowiedź. W ten sposób jest bardziej artystyczny.Brak komentarzy wypełniacza lub niepotrzebnych ciągów!
Bonusowa historia debugowania:
źródło
Haskell
To będzie rymowane haiku!
Tak!
Uwaga: Pred oznacza poprzedni numer. Również w haskell możesz mieć wiele definicji funkcji i używana jest pierwsza, która ma sens.
źródło
Ruby - One Haiku
Przeczytaj (ignorując interpunkcję, ale z jedną emotikoną) w następujący sposób:
źródło
W SML:
czytać jako:
źródło
Perl
Wiem, że używanie gotowych funkcji jest niezgodne z zasadami, ale oto, co otrzymuję.
Wyobraź sobie, że Twoim zadaniem jest pouczenie gryzoni o dużych rozmiarach:
Mogę tylko zgadywać, co oznacza ostatnie słowo i jak ono się wymawia, ale zapewniam cię, że to jedna sylaba. Najwyraźniej nie rozumie, czego od niego chcesz, więc musisz opracować (łagodząc standardy jakości, tracąc cierpliwość):
wciąż bezskutecznie. Następnie musisz to wyjaśnić zwykłym angielskim:
Co stało się potem, nie wiem, ale kod jest prawidłowy:
i
i
źródło
Pyton
Sposób w jaki to czytam:
`
źródło
do
Wymowa:
funt obejmuje standardową
kropkę I / O h funt zawiera
standardową lib kropkę h
int main int arg c
przecinek char star star arg v
open brace comment
iteracyjnie
oblicza silnia tutaj
long int n jest równe
zero przecinka
równa zero przecinka
równa się jednemu komentarzowi
produkt zaczyna się od jednego
średnika, jeśli arg c
jest większy niż jeden
nawias klamrowy n to
str-to-l arg v sub
one przecinek NULL przecinek
średnik, jeśli
n mniej niż zero, zacznij
printf arg musi
być większa lub
równa zero ukośnikowi odwrotnemu
n średnik
wyjście ujemne
jeden średnik końcowy nawias
końcowy i równa się
n średnik,
gdy i nawias klamrowy r
jest równy r razy i
średnik i
spadek średnik
zamknij nawias klamrowy drukuj
wynik printf
procent d silnia
jest równy procent d
whack n comma n
comma r średnik
komentarz zrobiony end nawias klamrowy
źródło
#
Charakter jest zazwyczaj wymawiane ostry lub octothorpe w kodzie C.C # - 3 haikus
Usunąłem zwykłe używanie C #, przestrzeni nazw i definicji klas, co byłoby czwartym haiku.
które czytam jako
źródło
Haskell
zwróć uwagę, że moduł ... gdzie jest dodawany automatycznie do dowolnego kodu Haskell bez jego kompilacji, więc nie pisanie go praktycznie oszukuje.
źródło
do
i nie musiało tak byćMonad a => a
.JAWA:
W odpowiedzi na pytanie i na Dwaiku (Double-Haiku lub jakkolwiek to chcesz nazwać) opublikowane przez Quincunx w Javie, oto poprawne Haiku:
źródło
JavaScript - Two Haikus
Nie jestem native speakerem. Użyłem więc słownika do policzenia sylab. Mam nadzieję, że jest wystarczająco dobry. Wszelkie opinie są mile widziane :)
źródło
PowerShell, 2 haikus
źródło
Czy wolno nam używać wypełniacza?
Haikus Python 2:
źródło
nuum equals length one
?num equals length of the list
robi 7 sylab zamiast 5nuum
zfoo
(bo czytam jeśli jako nu-um, co daje ponad limit.)Befunge-93
Trzy haikus:
Ostatnia linia jest trochę oszustem.
Spróbuj tutaj: http://www.bedroomlan.org/tools/befunge-93-playground
źródło