Let z
Ser um número complexo. z
é a enésima raiz primitiva da unidade, se para um determinado número inteiro positivo n
e para qualquer número inteiro positivo k < n
.
Desafio
Escreva um programa ou função completo que, dado um número inteiro positivo n
como entrada, produza todas as enésimas enésimas raízes primitivas da unidade. Você pode produzi-los na forma polar ( e^θi
ou e^iθ
, o argumento deve ser um decimal com pelo menos 2 casas decimais) ou retangular ( a + bi
ou uma forma semelhante, as partes reais e imaginárias também devem ser decimais) e podem ser exibidas na lista do seu idioma / array ou como uma sequência com os números separados por espaços ou novas linhas. Construções que calculam as enésimas raízes da unidade ou as enésimas raízes primitivas da unidade não são permitidas.
Isso é código-golfe , então o código mais curto em bytes vence.
Amostras de entradas e saídas
6 -> e^1.05i, e^-1.05i # polar form
3 -> e^2.094395i, e^-2.094395i # any number of decimal places is OK as long as there are more than 2
8 -> 0.707 + 0.707i, 0.707 - 0.707i, -0.707 + 0.707i, -0.707 - 0.707i # rectangular form
1 -> 1 + 0i # this is OK
1 -> 1 # this is also OK
4 -> 0 + i, 0 - i # this is OK
4 -> i, -i # this is also OK