Les entiers gaussiens sont des nombres complexes de la forme a+bi
où a
et b
sont 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 0
et 1
, sans qu'un symbole ne soit nécessaire pour indiquer le signe.
Par exemple, 1100
en 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 à
01
représenter les nombres base -1 + i (par exemple1100
pour 2 en base -1 + i), - Deux entiers binaires représentant les nombres base -1 + i (par exemple, décimal
12
ou0b1100
pour 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 1100
ou12,12
pour 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
0
la 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-1
dans le titre.