Możesz pamiętać w pierwszej lub drugiej klasie, używając rozszerzonej formy, aby dowiedzieć się o wartości miejsca liczb. Łatwiej to wyjaśnić na przykładzie, więc zastanów się nad liczbą 123
. W rozszerzonej formie jest reprezentowany jako 100 + 20 + 3
, co pomaga młodemu umysłowi wizualizować wartość miejsca. Przypomina to, jak to mówisz: sto (plus) dwadzieścia (plus) trzy.
Możemy przedłużyć tę jednostkę o miejsca po przecinku: 2.718 => 2 + 0.7 + 0.01 + 0.008
Twoim wyzwaniem jest napisanie programu lub funkcji, która przyjmuje dodatnią liczbę zmiennoprzecinkową lub zero (zakładając, że jest tak duża lub precyzyjna, jak twój język może to obsłużyć; nie będzie w notacji naukowej) lub ciąg znaków i drukuje / zwraca ją w rozszerzonej formie jak wyjaśniono powyżej.
Nie potrzebujesz spacji między +
zerami ani zerem przed kropką dziesiętną, więc powyższy przykład może być 2+.7+.01+.008
. Wartości, które byłyby równe zeru, należy pominąć ( 101.01 => 100 + 1 + 0.01
), chyba że wartością wejściową jest zero (patrz poniżej).
Wartości nie powinny mieć więcej niż jednego zera wiodącego przed kropką dziesiętną ani żadnych zera końcowego po nim (no-no's 0060, 0000.2, 30., 30.000, .0400
:). Dane wejściowe również będą zgodne z tym.
Ponieważ pierwszoklasiści mają krótki czas koncentracji, twój kod będzie musiał być jak najkrótszy.
Przypadki testowe
0 => 0
6 => 6
0.99 => 0.9 + 0.09
24601 => 20000 + 4000 + 600 + 1
6.283 => 6 + 0.2 + 0.08 + 0.003
9000000.0000009 => 9000000 + 0.0000009