Die Leute sagen mir immer wieder, dass das Quadrat einer Zahl die mit sich selbst multiplizierte Zahl ist. Das ist offensichtlich falsch. Die richtige Methode, eine Zahl zu quadrieren, besteht darin, sie in ein Quadrat zu verwandeln, indem sie so oft auf sich selbst gestapelt wird, wie sie Ziffern hat, und dann alle Zahlen aus dem resultierenden Quadrat horizontal (von bis) abzulesen nur von links nach rechts) und vertikal (nur von oben nach unten) und addieren sie dann. Für die Zahl 123 erstellen Sie also zunächst das Quadrat:
123
123
123
Dann nehmen Sie alle Zeilen und Spalten aus dem Quadrat und addieren sie:
123+123+123+111+222+333
Welches gibt uns ein Ergebnis von 1035
.
Bei negativen Zahlen stapeln Sie normal (denken Sie daran, dass Sie nur die Anzahl der Stellen zählen , damit das negative Vorzeichen nicht in der Länge enthalten ist), lesen die horizontalen Zahlen normal (mit negativen Vorzeichen) und ignorieren dann die negativen Vorzeichen für die vertikalen Zahlen. Also, für die Zahl -144
bekommen wir das Quadrat:
-144
-144
-144
Was gibt uns -144-144-144+111+444+444
, was ist gleich567
Bei Zahlen mit nur einer Ziffer entspricht das Quadrat immer der doppelten Zahl (einmal horizontal und einmal vertikal lesen). So 4
gibt es uns
4
Was gibt uns 4+4
, was ist gleich 8
.
Stapeln Sie Zahlen mit Dezimalstellen normal (denken Sie daran, dass nur Ziffern gezählt werden, wenn Sie die Zahl stapeln, und daher der Dezimalpunkt nicht gezählt wird) und ignorieren Sie die Dezimaltrennzeichen, wenn Sie die vertikalen Zahlen lesen. Zum Beispiel 244.2
gibt uns die Nummer
244.2
244.2
244.2
244.2
Was gibt uns 244.2+244.2+244.2+244.2+2222+4444+4444+2222
, was ist gleich 14308.8
.
Bruchteile oder komplexe Zahlen können nicht quadriert werden.
Deine Aufgabe:
Ich habe es satt, die Zahlen von Hand zu quadrieren, deshalb habe ich beschlossen, den Vorgang zu automatisieren. Schreiben Sie mir ein Programm oder eine Funktion, die je nach Belieben einen Gleitkommawert oder einen String als Eingabe verwendet und das Ergebnis der Quadratur auf meine Weise zurückgibt.
Beispiele:
123 -> 1035
388 -> 3273
9999 -> 79992
0 -> 0
8 -> 16
-6 -> 0
-25 -> 27
-144 -> 567
123.45 -> 167282.25
244.2 -> 14308.8
2 -> 4
-0.45 -> 997.65
0.45 -> 1000.35
Wertung:
Meine Hände werden eng, weil ich all diese Quadrate ausgeschrieben habe, und mein Computer unterstützt das Kopieren / Einfügen nicht. Daher gewinnt der Eintrag mit der geringsten Codemenge, die ich eingeben kann (gemessen in Byte aus irgendeinem Grund?)!
244.2
ist keine Gleitkommazahl. Es kann nicht in die Zeichenfolge konvertiert werden "244.2"
.