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
.1782
jest równomiernie podzielny przez18
, więc następną liczbą jest1782 / 18 = 99
.99
nie jest podzielna przez9 + 9 = 18
, stąd bierzemy resztę:99 % 18 = 9
.9
jest 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.10
Lub100
. 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ątkiem1
samej, która jest „ cel"). Na przykład nigdy nie otrzymasz10
lub20
jako 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)!
8987868546
jest prawidłowym wejściem, spowoduje uszkodzenie narzędzia testowego, a także wielu (jeśli nie wszystkich) odpowiedzi ...
898786854
: nie 8987868546
(dodałeś 6
na końcu)
8987868546
nie jest równa 1 ( spełniona reguła 1 ) i 8987868546
jest liczbą całkowitą dodatnią wyższą niż 1 ( spełniona reguła 2 ).