Rozważ następującą sekwencję:
0 1 3 2 5 4 8 6 7 12 9 10 11 17 13 14 15 16 23 ...
Wygląda całkiem bez wzoru, prawda? Oto jak to działa. Zaczynając od 0, podskakuj nliczby całkowite, nzaczynając od 1. To kolejny numer w sekwencji. Następnie dodaj wszystkie „pomijane” liczby, które nie były jeszcze widoczne w kolejności rosnącej. Następnie zwiększaj ni przeskakuj od ostatniej dołączonej liczby. Powtórz ten wzór.
Na przykład, kiedy docieramy 11, jesteśmy na n=5. Zwiększamy nsię n=6, wskoczyć do 17, następnie dołączyć 13 14 15 16od tych, które nie zostały jeszcze widoczne. Nasz następny skok to n=7kolejny element w sekwencji 23.
Wyzwanie
Biorąc pod uwagę dane wejściowe x, wypisz xth termin tej sekwencji, pierwsze xwarunki sekwencji lub zbuduj nieskończoną listę terminów sekwencji. Możesz wybrać indeksowanie 0 lub 1.
I / O i reguły
- Dane wejściowe i wyjściowe można podać dowolną dogodną metodą .
- Można założyć, że dane wejściowe i wyjściowe pasują do rodzimego typu liczb w twoim języku.
- Dopuszczalny jest pełny program lub funkcja. Jeśli funkcja, możesz zwrócić dane wyjściowe zamiast je drukować.
- Standardowe luki są zabronione.
- To jest golf golfowy, więc obowiązują wszystkie zwykłe zasady gry w golfa, a wygrywa najkrótszy kod (w bajtach).