Wyzwanie:
Otrzymujesz podstawową liczbę 10. Dla każdej bazy od 10 odliczającej do bazy 2:
- Weź oryginalny numer wejściowy jako ciąg podstawowy 10 i usuń wszelkie cyfry numeru, które są nieprawidłowe dla podstawy.
- Interpretuj wynikowy ciąg liczbowy w tej bazie. Jeśli daje to 1 lub 0, zakończ cały proces.
- Wydrukuj lub wydrukuj jego największy współczynnik pierwszy jako liczbę dziesiętną.
Wynik może być tablicą największych czynników pierwszych.
Przykładowe przypadki:
Wejście:
987654321
Wynik:
379721
10593529
1091
179
1493
293
19
7
Na przemian:
[379721,10593529,1091,179,1493,293,19,7]
Drukuje to największe czynniki pierwsze: 987654321, 87654321 9 = 42374116 10 , 7654321 8 = 2054353 10 i tak dalej, aż osiągnie 1 2 , gdzie się zatrzymuje.
code-golf
math
primes
base-conversion
poi830
źródło
źródło
Odpowiedzi:
Pyth, 25 bajtów
Wypróbuj tutaj.
źródło
Pyth - 16 bajtów
Wypróbuj online tutaj .
Czasami na wejściach jest kilka pustych wierszy bez wszystkich cyfr, nie wiem, czy to jest problem.źródło
MATL ,
1715 bajtówPobiera to liczbę jako ciąg znaków z cudzysłowami, co jest domyślnie dozwolone.
Wypróbuj online!
Wyjaśnienie
źródło
Julia, 101 bajtów
Jest to funkcja rekurencyjna, która przyjmuje dane wejściowe jako ciąg znaków i zwraca tablicę.
Nie golfowany:
źródło
Mathematica, 83 bajty
Funkcja anonimowa zwraca listę. Szczerze mówiąc, nie jest to takie skomplikowane.
źródło
Rubin, 120 bajtów
Funkcja rekurencyjna przyjmuje dane wejściowe jako ciąg znaków.
źródło
-rprime
flagi wiersza poleceń zamiastrequire
.-rprime
z jakiegoś powodu nie działa dla mnie ...Pyke, 19 bajtów, niekonkurujące
(dodaj funkcję splat_node)Wypróbuj tutaj!
Pobiera dane wejściowe w cudzysłowie, wychodzi z błędem.
Objaśnienie (nowa linia zastąpiona przez \ n):
źródło