소개
지퍼 곱셈 이라고하는 새로운 산술 연산을 정의 해 봅시다 . 음수가 아닌 두 정수를 지퍼로 곱하려면 앞에 0을 추가하여 길이를 일치시키고 숫자의 해당 10 자릿수를 곱하고 결과에 선행 0을 추가하여 2 자리 숫자를 얻고 연결 한 다음 마지막으로 0을 떨어 뜨립니다.
다음은 A = 1276 이고 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
연산은 일반적인 부호 규칙을 사용하여 모든 정수로 확장됩니다. 양수는 음수이고 음수는 음수입니다.
작업
입력 값은 2 개의 정수이고 출력값은 지퍼 곱셈입니다. 임의로 큰 입력을 처리 할 수 있어야합니다. 입력 및 / 또는 출력은 문자열 형식 일 수 있습니다 (언어가 임의로 큰 정수를 지원하지 않는 경우에 해당). 참고 -0
유효한 입력 또는 출력되지 않는다.
규칙과 득점
전체 프로그램이나 함수를 작성할 수 있으며 가장 낮은 바이트 수가 이깁니다.
테스트 사례
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⁵
와D
10 바이트를 얻을 수 있습니다. : P