Você pode se lembrar da primeira ou da segunda série usando o formulário expandido para aprender sobre o valor de posição dos números. É mais fácil explicar com um exemplo, então considere o número 123
. Em forma expandida, é representado como 100 + 20 + 3
, o que ajuda uma mente jovem a visualizar o valor do local. É uma reminiscência de como você diz: cento (mais) vinte (mais) três.
Podemos estender isso além do local das unidades com decimais: 2.718 => 2 + 0.7 + 0.01 + 0.008
Seu desafio é escrever um programa ou função que tenha um número de ponto flutuante positivo ou zero (suponha que seja tão grande ou preciso quanto o seu idioma possa suportar; não será em notação científica) ou string e o imprime / retorna em formato expandido como explicado acima.
Você não precisa de espaços entre +
zero e zero antes da vírgula decimal, portanto o exemplo acima pode ser 2+.7+.01+.008
. Valores que seriam iguais a zero devem ser omitidos ( 101.01 => 100 + 1 + 0.01
), a menos que a entrada seja zero (veja abaixo).
Os valores não devem ter mais de um zero inicial antes do ponto decimal ou qualquer zero posterior a ele (não-não:) 0060, 0000.2, 30., 30.000, .0400
. A entrada também estará em conformidade com isso.
Como os alunos da primeira série têm curtos períodos de atenção, seu código deve ser o mais curto possível.
Casos de teste
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