Ви можете запам'ятати в першому чи другому класі, використовуючи розгорнуту форму, щоб дізнатися про значення місця чисел. Простіше пояснити на прикладі, тому врахуйте число 123
. У розгорнутому вигляді вона представлена як100 + 20 + 3
, що допомагає молодому розуму уявити значення місця. Це нагадує, як ви це говорите: сто (плюс) двадцять (плюс) три.
Ми можемо розширити це місце одиницями десяткових знаків: 2.718 => 2 + 0.7 + 0.01 + 0.008
Ваша задача полягає в тому, щоб написати програму або функцію, яка приймає позитивне число з плаваючою комою або нуль (припустимо, вона така велика або точна, як може обробити ваша мова; вона не буде в науковій нотації) або рядок і друкує / повертає її в розширеному вигляді як пояснено вище.
Вам не потрібні пробіли між +
«s» або «нулем» перед десятковою точкою, тому приклад вище може бути 2+.7+.01+.008
. Значення, які б дорівнювали нулю, повинні бути пропущені ( 101.01 => 100 + 1 + 0.01
), якщо вхід не дорівнює нулю (див. Нижче).
У значень не повинно бути більше одного провідного нуля перед десятковою точкою або будь-яких проміжних нулів після нього (ні-ні:) 0060, 0000.2, 30., 30.000, .0400
. Цьому теж буде відповідати вхід.
Оскільки у першокласників є короткі проміжки уваги, ваш код повинен бути якомога коротшим.
Тестові кейси
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