W jednym z naszych projektów w pracy niedawno odkryliśmy szczególnie dużą metodę generowania ciągu 6 znaków z 15 znaków alfabetu. Kilku z nas twierdziło: „Założę się, że możemy uzyskać to w jednej linii”, co rozpoczęło małą wewnętrzną grę w golfa kodowego.
Twoim zadaniem jest pokonanie nas, co bez wątpienia nie potrwa długo!
Oryginalny algorytm używał alfabetu 0-9A-E, ale eksperymentowaliśmy z innymi alfabetami. Istnieją zatem trzy podzadania.
- Wygeneruj
6
ciąg znaków losowo, wybierając dowolny dowolny15
alfabet zakodowany na stałeABC123!@TPOI098
. (To tylko przykład i powinien być dostosowywany bez wpływu na liczbę bajtów). - Wygeneruj
6
ciąg znaków losowo wybierając z15
alfabetu znaków0123456789ABCDE
. - Wygeneruj
6
ciąg znaków losowo wybierając z wybranego15
alfabetu znaków (tylko znaki do wydruku).
Każda postać powinna mieć równe szanse wyboru, a powtórzenie powinno być możliwe.
Najlepsze, jakie udało nam się wykonać dla każdego podzadania, to:
- „ABC123! @ TPOI098” -
24 bytes
- „0123456789ABCDE” -
21 bytes
- Alfabet niestandardowy -
13 bytes
Twój wynik to suma bajtów w rozwiązaniu każdego podzadania. tzn. nasz wynik wynosi obecnie 58.
Próbowaliśmy używać między innymi CJam i Ruby. Oryginał był w C #. Używaj dowolnego języka, który ci się podoba, ale będziemy zainteresowani rozwiązaniem w tych językach