hej,
Po około pięciu latach udało mi się ukończyć tytułowy program.
Nie że jakoś mocno się do niego przykładałem bo wychodzi średnio 2.5 linie kodu na miesiąc.
Chociaż bardziej to było z 15 linii na 6 miesięcy.
Nie pamiętam dokładnie ale na pomysł tego programu wpadłem jak coś robiłem w javaskrypcie
i połączyły mi się w głowie:
- 99 Bottles of Beer one program in 1500 variations - http://www.99-bottles-of-beer.net
- The International Obfuscated C Code Contest - http://www.ioccc.org/
- demoscena
- Programming Puzzles & Code Golf Stack Exchange - https://codegolf.stackexchange.com/
(ten ostatni mógł się połączyć trochę później)
Więc wpadłem na pomysł aby zrobić "program dziewięćdziesiąt dziewięć butelek piwa w javascrypcie
bez używania znaków alfanumerycznych". (i tylko znaki ascii)
Czyli aby program zwracał tekst piosenki http://www.99-bottles-of-beer.net/lyrics.html
No i właśnie zrobiłem.
Za bardzo nie starałem się skracać kodu więc moje rozwiązanie ma teraz 15667 bajtów.
(razem ze spacjami i nowymi liniami które nie są potrzebne)
Czyli więcej niż zwracany wynik, który ma 12184 bajty. Ale myślę że spokojnie można zmieścić się w 8192 bajtach, a jakby się postarać to i 4k (aka mniej niż 4k zależności)
Dodatkowo kilka rzeczy mi się w moim kodzie nie podoba więc może za rok zrobię coś lepszego.
Zachęcam do spróbowania napisania takiego programu, może uda się komuś zrobić krótszy
lub mniej znaków specjalnych. Moje rozwiązanie opublikuje za tydzień.
(najlepiej nie szukać rozwiązania jak to zrobić w wyszukiwarkach tylko spróbować samemu do tego
dojść. Po zrobieniu tego programu wyszukałem i okazało się że wszystko jest opisane i nawet
są gotowe generatory kodu [też myślałem aby zrobić z mojego programu generator ale mi się nie chciało],
więc zachęcam najpierw samemu spróbować)