高斯整数是形式的复数,a+bi其中a和b都是整数。在基数-1 + i中,可以使用数字0和唯一地表示所有高斯整数1,而无需使用符号来表示符号。
例如,1100以-1 + i为基数代表十进制数字2,因为
1*(-1+i)^3 + 1*(-1+i)^2 + 0*(-1+i)^1 + 0*(-1+i)^0
= (2+2i) + (-2i) + 0 + 0
= 2
输入将是使用数字表示的以-1 + i为基数的两个高斯整数01。可以采用以下形式之一:
- 两个独立的数字字符串,
- 两个十进制整数,其中包括01代表基数-1 + i的数字(例如1100,基数-1 + i中的2表示),
- 代表基数-1 + i的两个二进制整数(例如,十进制12或0b1100基数-1 + i中的2)
- 单个字符串由单个非字母数字分隔符分隔两个数字字符串/二进制整数(例如1100 1100或12,122 + 2)
输出两个高斯整数的和,也以-1 + i为基数,并用数字表示01(以允许输入的一种格式,不一定是相同的选择)。输出允许包含有限数量的前导零。
输入最多30位数字的函数或程序必须在2秒内终止。
其他说明
- 您可以假定输入不包含无关的前导零。对于0的特殊情况,可以选择一个0或空字符串作为表示形式。
测试用例
0, 0 => 0                                      # 0 + 0 = 0
0, 1 => 1                                      # 0 + 1 = 1
1, 1 => 1100                                   # 1 + 1 = 2
1100, 1100 => 111010000                        # 2 + 2 = 4
1101, 1101 => 111011100                        # 3 + 3 = 6
110111001100, 1110011011100 => 0               # 42 + (-42) = 0
11, 111 => 0                                   # i + (-i) = 0
11, 110 => 11101                               # i + (-1-i) = -1
10101, 11011 => 10010                          # (-3-2i) + (-2+3i) = (-5+i)
1010100101, 111101 => 1110100000100            # (-19+2i) + (3-4i) = (-16-2i)
更长的测试用例:
11011011010110101110010001001, 111100010100101001001010010101 => 0
111111111111111111111111111111, 111111111111111111111111111111 => 100100100100100100100100100100
101101110111011101110111011101, 101101110111011101110111011101 => 11101001010001000100010001000100011100
100100010101001101010110101010, 100010011101001011111110101000 => 110000110010101100001100111100010
-1+i到i-1的称号。