Einführung
Definieren wir eine neue Rechenoperation, die ich als Zipper-Multiplikation bezeichne . Um zwei nichtnegative Ganzzahlen mit dem Reißverschluss zu multiplizieren, fügen Sie führende Nullen hinzu, damit die Längen übereinstimmen, multiplizieren Sie die entsprechenden 10-stelligen Ziffern der Zahlen, fügen Sie führende Nullen zu den Ergebnissen hinzu, um zweistellige Zahlen zu erhalten, verketten Sie sie und lassen Sie schließlich führende Nullen fallen.
Hier ist ein Beispiel mit A = 1276 und B = 933024 :
1. Add leading zeros
A = 001276
B = 933024
2. Multiply digit-wise
A = 0 0 1 2 7 6
B = 9 9 3 0 2 4
-> 0 0 3 0 14 24
3. Pad to 2 digits
-> 00 00 03 00 14 24
4. Concatenate
-> 000003001424
5. Drop leading zeros
-> 3001424
Die Operation wird auf alle Ganzzahlen mit den üblichen Vorzeichenregeln ausgedehnt: positive Zeiten sind negativ, negative Zeiten sind positiv und so weiter.
Die Aufgabe
Ihre Eingaben sind zwei Ganzzahlen, und Ihre Ausgabe ist ihre Reißverschluss-Multiplikation. Sie sollten mit beliebig großen Eingaben umgehen können. Die Eingabe und / oder Ausgabe kann im Zeichenfolgenformat erfolgen (und muss auch erfolgen, wenn Ihre Sprache keine willkürlich großen Ganzzahlen unterstützt). Beachten Sie, dass dies -0
keine gültige Eingabe oder Ausgabe ist.
Regeln und Wertung
Sie können ein vollständiges Programm oder eine Funktion schreiben, und die niedrigste Byteanzahl gewinnt.
Testfälle
0 0 -> 0
302 40 -> 0
302 -40 -> 0
-4352 448 -> -122016
0 6623 -> 0
0 -6623 -> 0
20643 -56721 -> -1000420803
63196 21220 -> 1203021800
1276 933024 -> 3001424
-1276 933024 -> -3001424
-1276 -933024 -> 3001424
5007204555 350073039 -> 12001545
-612137119 -8088606033 -> 816060042000327
3389903661 -6619166963 -> -18180881090018543603
-23082746128560880381 1116941217 -> -8050600723200060807
-668336881543038127783364011867 896431401738330915057436190556 -> -485448120906320001351224000900090235004021121824000900403042
402878826066336701417493206805490000415 312487283677673237790517973105761463808 -> 120004325656161618004242182118140007280900200921180018080025285400000000320040
b⁵
mitD
bekommen die 10 Bytes. : P