Wyzwanie:
Utwórz program, który pobiera dodatnią niezerową liczbę całkowitą i wysyła 4 kolejne liczby w kolejności opisanej poniżej.
Uwaga: Sprawdzanie, czy wejście jest w rzeczywistości dodatnią liczbą całkowitą niezerową, nie jest konieczne
Sekwencja:
Każda liczba w tej sekwencji (oprócz pierwszej, która jest wartością wejściową) składa się z n cyfr, gdzie n jest liczbą parzystą. Jeśli podzielimy liczbę na pary n / 2, dla każdej pary pierwsza cyfra powinna oznaczać, ile razy druga cyfra pojawiła się w poprzednim numerze
Objaśnienie wizualne :
Rozważ ten przykład „sekwencer startowy” lub wejście 6577
Kolejna liczba w sekwencji powinna wyglądać tak: 161527
Ponieważ wejście ma 1 „6”, 1 „5” i 2 „7”.
Jeśli wejście ma zbyt wiele cyfr (więcej niż 9 pojedynczej cyfry), nie można uzyskać prawidłowego wyniku.
Przykład: 111111111111
(12 1)
Kolejna liczba w kolejności musi opisywać 12 1. W ten sposób podzieliliśmy go na 9 1 i 3 1 (suma 9 + 3 = 12)
Następna liczba:9131
Powinieneś iterować 4 razy dla danych wejściowych i wyprowadzać je (albo zwróć listę / tablicę 4 liczb całkowitych, albo wyślij je oddzielając je spacją, dopuszczalne są również znaki nowej linii)
„Numer można zapisać na wiele sposobów, jak go zapisać?” :
Jeśli się nad tym zastanowić, przykładowe dane wejściowe6577
można również zapisać jako 271516 (dwa 7, jeden 5, jeden sześć). Jest to jednak niepoprawny wynik. Powtórz liczbę od lewej do prawej. Tak więc 161527. Gdyby to było 7657
, iterowałbyś liczbę 7, a następnie liczbę 6, a następnie liczbę 5, w ten sposób poprawne wyjście byłoby271615
Przykład I / O:
Wejście:75
Wyjście:1715 211715 12311715 4112131715
Wejście:1
Wyjście:11 21 1211 3112
Wejście: 111111111111
(12 1-tych)
Wyjście:9131 192113 31191213 23411912
Jest to odmienne od pytania „Powiedz, co widzisz”, ponieważ sekwencje są różne: https://oeis.org/A005150 <- Ten zwraca liczby takie jak to:
Wejście: 1211 Wyjście: 111221
Podczas sekwencji, o którą proszę zrobiłby
Wejście: 1211 Wyjście: 3112
Dwie sekwencje są różne i wymagają różnych algorytmów.
Moja pytana sekwencja: https://oeis.org/A063850 Sekwencja
„Możliwy duplikat”: https://oeis.org/A005150
Ważna specyfikacja:
Ponieważ nie było wystarczająco jasne dla niektórych osób, które próbowały odpowiedzieć na to pytanie, poprawna wartość wyjściowa dla k znaków, w których k> 9 nie jest „kc” (gdzie c jest char), ale 9c (k-9) c itd. Zatem poprawna wydajność dla 12 1 nie jest 121
(12 1), ale 9131
(9 1, (12-9) 1 i tak dalej)
W razie wątpliwości kod jest niepoprawny, jeśli kiedykolwiek wypisuje liczbę z nieparzystą liczbą cyfr (np. 121), powinien mieć wynik liczb parzystych ze względu na charakter sekwencji.
To jest code-golf, więc kod z najmniejszą liczbą bajtów wygrywa.
23411912
zamiast 23411219
?
1111111111111111111