Giới thiệu
Chúng ta hãy xác định một hoạt động số học mới, mà tôi gọi là phép nhân dây kéo . Để khóa kéo nhân hai số nguyên không âm, bạn thêm các số 0 đứng đầu để làm cho độ dài khớp với nhau, nhân các chữ số cơ bản tương ứng của 10 số, thêm các số 0 đứng đầu vào kết quả để có được các số có 2 chữ số, nối chúng và cuối cùng thả các số 0 đứng đầu.
Đây là một ví dụ với A = 1276 và 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
Hoạt động được mở rộng cho tất cả các số nguyên với các quy tắc ký hiệu thông thường: lần dương dương là âm, lần âm âm là dương và cứ thế.
Nhiệm vụ
Đầu vào của bạn là hai số nguyên và đầu ra của bạn là phép nhân dây kéo của chúng. Bạn sẽ có thể xử lý các đầu vào lớn tùy ý. Đầu vào và / hoặc đầu ra có thể ở định dạng chuỗi (và thực tế phải là, nếu ngôn ngữ của bạn không hỗ trợ các số nguyên lớn tùy ý). Lưu ý rằng đó -0
không phải là một đầu vào hoặc đầu ra hợp lệ.
Quy tắc và tính điểm
Bạn có thể viết một chương trình đầy đủ hoặc một hàm và số byte thấp nhất sẽ thắng.
Các trường hợp thử nghiệm
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⁵
bằngD
để có được 10 byte. : P