9 miliardów imion Boga to krótka historia Arthura C. Clarke'a. Chodzi o grupę tybetańskich mnichów, których porządek poświęcony jest spisaniu wszystkich możliwych imion Boga, zapisanych własnym alfabetem. Zasadniczo poświęcają się pisaniu każdej możliwej permutacji swojego alfabetu, ograniczonej kilkoma zasadami. W opowieści klasztor zatrudnia inżynierów, aby napisali program, który wykona za nich całą pracę. Twoim celem jest napisanie tego programu.
Zasady:
Alfabet mnicha używa 13 znaków (według moich szacunków). Możesz użyć
ABCDEFGHIJKLMlub innego zestawu 13 znaków.Minimalna długość możliwej nazwy to 1 znak. Maksymalna długość wynosi 9 znaków.
Żadna postać nie może powtarzać więcej niż 3 razy z rzędu.
AAABAjest prawidłową nazwą, aleAAAABnie jest.Twój program powinien wydrukować (do pliku) każdą możliwą nazwę w kolejności od
AdoMMMLMMMLM, oddzieloną dowolnym znakiem spoza alfabetu (znaki nowej linii, średniki, cokolwiek).To jest golf golfowy i możesz używać dowolnego języka. Najkrótsze rozwiązanie do 1 czerwca 2014 wygrywa.
Edycja: nazwy powinny zaczynać się Ai kończyć MMMLMMMLM, przechodząc kolejno przez wszystkie miliardy nazw. Ale konkretna sekwencja należy do ciebie. Możesz wydrukować najpierw wszystkie 1-literowe nazwy, a następnie wszystkie 2-literowe nazwy itp. Lub możesz wydrukować wszystkie nazwy zaczynające się od A, a następnie wszystkie zaczynające się od Blub inny wzór. Ale człowiek powinien być w stanie odczytać plik i potwierdzić, że wszystko tam jest i w dowolnej logicznej kolejności, którą wybierzesz, zakładając, że ma czas.
f(k) = k^9 + k^8 + k^7 - 5*k^6 + k^5 + k^4 + 4*k^3 - 2*k^2 + k. Wdrożenie Sage: goo.gl/0srwhq
105.8GBwszystko powiedziane i zrobione! Cieszę się, że gwiazdy nie zgasły ... a może musisz wydrukować listę, aby tak się stało ...?