Dado um inteiro gaussiano onde , são inteiros e é a unidade imaginária, retorne o mais próximo (Wrt à distância euclidiana) inteiro Eisenstein onde , seja inteiros e .
fundo
Provavelmente é bastante óbvio que todo número inteiro gaussiano pode ser exclusivamente escrito como com , inteiros. Não é tão óbvio, mas mesmo assim verdadeiro: qualquer número inteiro de Eisenstein pode ser exclusivamente escrito como com , números inteiros. Ambos formam um módulo dentro dos números complexos e são ambos os números inteiros ciclotômicos para ou respectivamente. Observe que
Fonte: commons.wikimedia.org
Detalhes
Caso o número complexo fornecido tenha dois ou três pontos mais próximos, qualquer um deles poderá ser retornado.
O número complexo é dado em coordenadas retangulares (base ), mas diferente daquele em qualquer formato conveniente como
(A,B)
ouA+Bi
ouA+B*1j
etc.- O inteiro Eisenstein deve ser retornado como coordenadas da base mas que não seja em qualquer formato conveniente como
(K,L)
ouK+Lω
ouK+L*1ω
etc.
Exemplos
Todos os números inteiros reais obviamente devem ser mapeados para os números inteiros reais novamente.
6,14 -> 14,16
7,16 -> 16,18
-18,-2 ->-19,-2
-2, 2 -> -1, 2
-1, 3 -> 1, 4
(1,w)
por (-1,1+w)
. Também renomei esta seção para Exemplos para deixar claro que não é suficiente apenas fornecer os resultados corretos para esses casos.