Zdarzyło mi się dzisiaj rzucić okiem na zegarek dokładnie o 11:11:11 (a dziś jest 1/11; szkoda, że to nie 2011), i to sprawiło, że pomyślałem: wiem! Powinienem z tego zrobić pytanie do golfa! Jestem głupkiem
W każdym razie twoim wyzwaniem jest przyjęcie godziny, minuty i sekundy jako danych wejściowych i wygenerowanie następnego „interesującego” czasu. Tutaj zdefiniuję interesujące jako następujące kroki:
- Połącz godzinę, minutę i sekundę. (Na przykład o 4:14:14 będzie to 41414.)
- Sprawdź kolejne grupy po jednej, dwóch lub trzech, które obejmują całą długość łańcucha. Na przykład mogłem znaleźć
[41][41][4]
w przykładowym czasie (jeśli grupa nie może sięgnąć przez łańcuch, po prostu odetnij go, jak w tym przykładzie). Inny przykład: w tym czasie w moim pierwszym przykładzie na początku pytanie byłoby[1][1][1][1][1][1]
,[11][11][11]
lub[111][111]
. - Czy istnieje kolejna grupa, która przechodzi przez cały ciąg? Jeśli tak, czas jest „interesujący!” W przeciwnym razie tak nie jest.
Dane wejściowe mogą mieć dowolny rozsądny format, ale nie mogą być zakodowane na stałe. Dane wyjściowe mogą być również w dowolnym rozsądnym formacie i nie muszą być w tym samym formacie co dane wejściowe.
Jeśli z jakiegoś powodu korzystasz z dostępu do sieci, wszystkie bajty pobrane z sieci liczą się do twojego wyniku.
To jest golf-golf; najkrótszy kod w bajtach wygrywa.
Odpowiedzi:
J,
1139990Prawdopodobnie wciąż całkiem golfowy.
Pobiera wektor
(h m s)
jako dane wejściowe i zwraca wektor w tym samym formacie co dane wyjściowe.Przykłady:
źródło
Haskell -
227223To jeden ze sposobów na zrobienie tego.
Przykłady
źródło
Mathematica 125
Zwraca wzór następnego interesującego czasu:
a_
oznacza koniec czasu.źródło
Lua
Mam cztery różne rozwiązania, ponieważ nie byłem pewien niektórych wymagań.
Wersja 1: usuwanie zer, wprowadzanie danych z wiersza poleceń oraz tworzenie kopii zapasowej os.time () (315)
Zminimalizowane:
Pełna wersja z komentarzami:
Pozostałe wersje są bardzo podobne, więc opublikuję tylko wersje zminimalizowane:
Wersja 2: brak danych z wiersza poleceń (239)
Wersja 3: brak usuwania 0, z wejściem wiersza poleceń (240)
Wersja 4: żadna z wymyślnych rzeczy (bez usuwania 0 lub wprowadzania z wiersza poleceń) (164)
Instrukcje użytkowania
W terminalu uruchom (wersje 1 i 3)
Lub tylko
Jeśli chcesz, żeby wyłączało się zegar systemowy.
Czy jest nagroda za kompletność funkcji? : P
źródło