Główne zadanie
Twoim zadaniem jest wydrukować liczby całkowite w kolejności malejącej, zaczynając od 1, i zwiększając się, gdy ponownie uderzasz 1, aż do osiągnięcia podanej wartości wejściowej, a następnie drukuj resztę, aż trafisz ponownie 1. Przykład z wejściem 6
:
1
21
321
4321
54321
654321
Without newlines (valid output):
121321432154321654321
Uwaga dodatkowa: jest to A004736 w OEIS. Również pierwszy przykład (z nowymi wierszami) jest nieprawidłowym wyjściem, jak określono w regułach.
Wejście
Twój kod może przyjmować dowolny rodzaj danych wejściowych (graficzny, STDIN) w postaci liczby całkowitej lub liczby.
Wynik
Twój kod powinien wypisywać opisaną powyżej sekwencję, aż do osiągnięcia liczby wejściowej, a następnie zakończyć wyświetlanie, aż ponownie osiągnie 1. Wyjściem może być cokolwiek, dlatego liczby, ciągi, liczby całkowite lub wyjście graficzne. Wymagane jest wydrukowanie pojedynczej liczby (bez znaków nowej linii, jeśli jest to ciąg znaków). Twój wynik może być wprowadzany i generowany z dowolną liczbą znaków (np []
.).
Ponieważ było trochę nieporozumień, oto wzorzec wyrażenia regularnego, na którym możesz wypróbować swoje wyniki.
^(\D*(\d)+\D*)$
Zasady
- Wynik musi być pełną liczbą, nie może być podzielony na nic, nawet na nowe wiersze.
- Algorytm ten nie powinien sprawdzać pierwszym rzędzie N znajdującym się w jakikolwiek sposób (na przykład
21
w121321
), lecz dla pierwszego przykładu N, jak wartość liczby. - Pojedynczy znak nowej linii jest dozwolony.
- Obsługa negatywnych danych wejściowych jest w pełni twoim wyborem, liczby ujemne nie są przypadkami, które powinieneś przetestować.
Przypadki testowe
Input: 6
Output: 121321432154321654321
Input: 1
Output: 1
Input: 26
Output: 121321432154321654321765432187654321987654321109876543211110987654321121110987654321131211109876543211413121110987654321151413121110987654321161514131211109876543211716151413121110987654321181716151413121110987654321191817161514131211109876543212019181716151413121110987654321212019181716151413121110987654321222120191817161514131211109876543212322212019181716151413121110987654321242322212019181716151413121110987654321252423222120191817161514131211109876543212625242322212019181716151413121110987654321
Input: 0
Output: 0, Empty, or Error
Input: 21
Output: 121321432154321654321765432187654321987654321109876543211110987654321121110987654321131211109876543211413121110987654321151413121110987654321161514131211109876543211716151413121110987654321181716151413121110987654321191817161514131211109876543212019181716151413121110987654321212019181716151413121110987654321
Dzięki @Emigna, użyłem jego algorytmu do obliczenia tych przypadków testowych.
Zwycięzca
Zwycięzca został wybrany! To była odpowiedź ErikGolfer z imponującymi 5 bajtami! Gratulacje!
[1, 21, 321, 4321, 54321, 654321]
Co powiesz na ten? [1,2,1,3,2,1,4,3,2,1,5,4,3,2,1,6,5,4,3,2,1]
A może mówisz tylko o tablicach z jednym elementem [121321432154321654321]
?
mickey321211mouse
. Naprawdę \D
części nie mają powodu, aby tam być
The output must be a full number ...
Masz na myśli całą sekwencję, czy tylko różne podciągi (1, 2-1, 3-1 ...)? Twój pierwszy przykład nie pasuje do tego stwierdzenia.