Sie können sich in der ersten oder zweiten Klasse daran erinnern, wie Sie in erweiterter Form den Stellenwert von Zahlen gelernt haben. Es ist einfacher, mit einem Beispiel zu erklären, also überlegen Sie sich die Zahl 123
. In erweiterter Form wird es als dargestellt 100 + 20 + 3
, was einem jungen Geist hilft, den Wert eines Ortes zu visualisieren. Es erinnert daran, wie Sie es sagen: einhundert (plus) zwanzig (plus) drei.
Wir können dies über die Einheitsstelle hinaus mit Dezimalstellen erweitern: 2.718 => 2 + 0.7 + 0.01 + 0.008
Ihre Herausforderung besteht darin, ein Programm oder eine Funktion zu schreiben, das / die eine positive Gleitkommazahl oder Null annimmt (vorausgesetzt, es ist so groß oder genau, wie Ihre Sprache es verarbeiten kann; es wird nicht in wissenschaftlicher Notation geschrieben) oder eine Zeichenfolge und es in erweiterter Form auszudrucken / zurückzugeben wie oben erklärt.
Sie brauchen weder ein Leerzeichen zwischen dem +
's noch der Null vor dem Dezimalpunkt, also könnte das obige Beispiel sein 2+.7+.01+.008
. Werte, die gleich Null wären, müssen weggelassen werden ( 101.01 => 100 + 1 + 0.01
), es sei denn, die Eingabe ist Null (siehe unten).
Werte sollten nicht mehr als eine führende Null vor dem Dezimalpunkt oder nachfolgende Nullen (no-no's:) enthalten 0060, 0000.2, 30., 30.000, .0400
. Der Eingang wird auch diesem entsprechen.
Da Erstklässler nur eine kurze Aufmerksamkeitsspanne haben, muss Ihr Code so kurz wie möglich sein.
Testfälle
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