Les entiers gaussiens sont des nombres complexes de la forme a+bioù aet bsont les deux entiers. En base -1 + i, tous les nombres entiers gaussiens peuvent être représentés de manière unique à l'aide des chiffres 0et 1, sans qu'un symbole ne soit nécessaire pour indiquer le signe.
Par exemple, 1100en base -1 + i représente le nombre décimal 2, puisque
1*(-1+i)^3 + 1*(-1+i)^2 + 0*(-1+i)^1 + 0*(-1+i)^0
= (2+2i) + (-2i) + 0 + 0
= 2
L'entrée consistera en deux entiers gaussiens en base -1 + i représentés à l'aide des chiffres 01. Cela peut prendre l’une des formes suivantes:
- Deux chaînes de chiffres distinctes,
- Deux entiers décimaux consistant à
01représenter les nombres base -1 + i (par exemple1100pour 2 en base -1 + i), - Deux entiers binaires représentant les nombres base -1 + i (par exemple, décimal
12ou0b1100pour 2 en base -1 + i) - Une seule chaîne séparant deux chaînes de chiffres / entiers binaires par un seul séparateur non alphanumérique (par exemple
1100 1100ou12,12pour 2 + 2)
Affiche la somme des deux nombres entiers de Gauss, également en base -1 + i et représentée à l'aide des chiffres 01(dans l'un des formats autorisés en entrée, pas nécessairement le même choix). La sortie est autorisée à contenir un nombre fini de zéros non significatifs.
Votre fonction ou votre programme doit se terminer dans les 2 secondes pour des entrées de 30 chiffres maximum chacune.
Clarifications supplémentaires
- Vous pouvez supposer que l'entrée ne contient pas de zéros non significatifs. Dans le cas particulier de 0, vous pouvez choisir soit
0la chaîne vide, soit la représentation.
Cas de test
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)
Cas de test plus longs:
11011011010110101110010001001, 111100010100101001001010010101 => 0
111111111111111111111111111111, 111111111111111111111111111111 => 100100100100100100100100100100
101101110111011101110111011101, 101101110111011101110111011101 => 11101001010001000100010001000100011100
100100010101001101010110101010, 100010011101001011111110101000 => 110000110010101100001100111100010
-1+ià i-1dans le titre.