Szalony matematyk posiada szeroką kolekcję liczb, dlatego przestrzeń, którą zostawił, jest dość ograniczona. Aby uratować trochę, musi złożyć liczby całkowite, ale niestety jest naprawdę leniwy. Twoim zadaniem, jeśli chcesz mu pomóc, jest stworzenie funkcji / programu, który złoży daną liczbę całkowitą dodatnią dla naszego maniaka liczb.
Jak złożyć liczbę całkowitą?
Jeśli jest równomiernie podzielny przez sumę jego cyfr, podziel go przez sumę jego cyfr. Jeśli nie spełnia tego wymogu, weź jego resztę po podzieleniu przez sumę jego cyfr. Powtarzaj proces aż do osiągnięcia wyniku 1. Złożona liczba całkowita to liczba operacji, które musiałeś wykonać. Weźmy przykład (powiedzmy 1782):
Get sumę cyfr:
1 + 7 + 8 + 2 = 18.1782jest równomiernie podzielny przez18, więc następną liczbą jest1782 / 18 = 99.99nie jest podzielna przez9 + 9 = 18, stąd bierzemy resztę:99 % 18 = 9.9jest oczywiście podzielny przez9, więc dzielimy go i otrzymujemy1.
Rezultat jest taki 3, ponieważ do osiągnięcia potrzebne były 3 operacje 1.
Zasady i specyfikacje
Niektóre liczby całkowite mogą mieć sumę cyfr równą
1, np.10Lub100. Twój program nie musi obsługiwać takich przypadków. Oznacza to, że będziesz mieć pewność, że liczba całkowita podana jako dane wejściowe nie ma sumy cyfr równej1, i żadna operacja z podaną liczbą całkowitą nie spowoduje liczby, której suma cyfr to1(z wyjątkiem1samej, która jest „ cel"). Na przykład nigdy nie otrzymasz10lub20jako dane wejściowe.Wejście będzie dodatnią liczbą całkowitą wyższą niż
1.Możesz przyjmować dane wejściowe i dostarczać dane wyjściowe dowolnym standardowym środkiem .
Przypadki testowe
Wejście -> Wyjście 2 -> 1 5 -> 1 9 -> 1 18 -> 2 72 -> 2 152790 -> 2 152 -> 3 666 -> 3 777 -> 3 2010 -> 3 898786854 -> 4
Oto program, który pozwala zwizualizować proces i wypróbować więcej przypadków testowych.
To jest golf golfowy , więc wygrywa najkrótszy kod w każdym języku (oceniany w bajtach)!
8987868546jest prawidłowym wejściem, spowoduje uszkodzenie narzędzia testowego, a także wielu (jeśli nie wszystkich) odpowiedzi ...
898786854: nie 8987868546(dodałeś 6na końcu)
8987868546 nie jest równa 1 ( spełniona reguła 1 ) i 8987868546jest liczbą całkowitą dodatnią wyższą niż 1 ( spełniona reguła 2 ).