Vous vous souviendrez peut-être en première ou en deuxième année en utilisant une forme développée pour en savoir plus sur la valeur de position des nombres. C'est plus facile à expliquer avec un exemple, alors considérez le nombre 123
. Sous forme développée, il est représenté comme 100 + 20 + 3
ce qui aide un jeune esprit à visualiser la valeur de position. Cela rappelle comment vous le dites: cent (plus) vingt (plus) trois.
Nous pouvons prolonger ce passé la place des unités avec des décimales: 2.718 => 2 + 0.7 + 0.01 + 0.008
Votre défi consiste à écrire un programme ou une fonction prenant un nombre à virgule flottante positif ou zéro (supposons qu'il soit aussi grand ou précis que votre langage peut le gérer; il ne s'agira pas de notation scientifique) ou chaîne et l'affiche / le renvoie sous forme développée. comme expliqué ci-dessus.
Vous n'avez besoin ni d'espaces entre le +
's ni du zéro avant le point décimal, ainsi l'exemple ci-dessus pourrait l'être 2+.7+.01+.008
. Les valeurs qui seraient égales à zéro doivent être omises ( 101.01 => 100 + 1 + 0.01
) sauf si l'entrée est zéro (voir ci-dessous).
Les valeurs ne doivent pas avoir plus d'un zéro avant le point décimal, ni de zéros à la fin (non-non:) 0060, 0000.2, 30., 30.000, .0400
. L'entrée sera conforme à cela aussi.
Étant donné que les élèves de première année ont une capacité d'attention limitée, votre code devra être aussi court que possible.
Cas de test
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