Lascia che z
sia un numero complesso. z
è un'ennesima radice primitiva di unità se per un certo numero intero positivo n
e per qualsiasi numero intero positivo k < n
.
Sfida
Scrivi un programma o una funzione completa che, dato un intero positivo n
come input, produce tutte le ennesime radici primitive dell'unità. Puoi emetterli in forma polare ( e^θi
o e^iθ
, l'argomento dovrebbe essere un decimale con almeno 2 posizioni decimali) o rettangolare ( a + bi
o una forma simile, anche le parti reali e immaginarie dovrebbero essere decimali) e potrebbero essere emesse nell'elenco della tua lingua / formato array o come stringa con i numeri separati da spazi o newline. Non sono ammessi incorporamenti che calcolano l'ennesima radice dell'unità o l'ennesima radice primitiva dell'unità.
Questo è code-golf , quindi vince il codice più breve in byte.
Ingressi e uscite di esempio
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