Repdigits sind Zahlen der Form a * (10^n - 1)/9
mit a in [-9,9]\{0}
(mit anderen Worten 111, -3333, 66, Zahlen, die durch Wiederholen nur einer Ziffer erstellt werden)
Ziel: Schreiben Sie ein Programm oder eine Funktion, die eine einzelne positive Ganzzahl verwendet N
und druckt N = s_1 + s_2 + ... + s_k
. Es sollte eine Nummer pro Zeile geben und die Nummern müssen rechtsbündig sein. Keine zwei Summanden sollten die gleiche Anzahl von Ziffern haben und das Hinzufügen von Nullen ist nicht zulässig. Die Ausgabe sollte in aufsteigender oder absteigender Reihenfolge (nach Anzahl der Ziffern) angeordnet sein.
Beispiele:
in:
24192
out:
24192 =
22222 +
2222 -
222 -
33 +
3
in:
24192
out:
-7
-22
+888
+1111
+22222
=24192
in:
113
out:
113= NOT 111+ no empty lines 111+
111+ 00+
2 2 2
Wie Sie sehen, kann es mehrere Lösungen geben, und es ist eine gewisse künstlerische Freiheit zulässig. Führende und nachfolgende Leerzeichen in jeder Zeile sind zulässig
Die kürzeste Byteanzahl gewinnt
N
solche gedruckt werden?Antworten:
Perl 5 -
97 92 9386Eingabe als Parameter angegeben:
quelle
/0/
Schleifenbedingung.redo
.CJam,
5550 BytesTesten Sie es hier.
Verwendet das Ausgabeformat
Ich könnte noch mehr Golf spielen, wenn ich geschlagen bin.
Erläuterung:
Das resultierende Array wird am Ende des Programms automatisch gedruckt.
quelle
JavaScript ES6 - 145
In die Firefox-Konsole einfügen. Ausführen als
f(24192)
.Ausgabe für
f(24192)
:quelle
55
enthält es eine 0 in der Summe (was ein Fehler ist).GolfScript 77
Online-Demo-Links:
Eine etwas besser lesbare Version (wenn GolfScript als lesbar bezeichnet werden kann) mit Unit-Test-Version ist hier verfügbar .
quelle