Niech z
będzie liczbą zespoloną. z
jest n-tym pierwotnym pierwiastkiem jedności, jeśli dla pewnej dodatniej liczby całkowitej n
i dla dowolnej dodatniej liczby całkowitej k < n
.
Wyzwanie
Napisz pełny program lub funkcję, która, biorąc pod uwagę dodatnią liczbę całkowitą n
jako dane wejściowe, wyprowadza wszystkie n-te pierwotne pierwiastki jedności. Możesz wyprowadzać je w postaci biegunowej ( e^θi
lub e^iθ
argument powinien być dziesiętny z co najmniej 2 miejscami dziesiętnymi) lub prostokątnej ( a + bi
lub podobnej postaci, rzeczywiste i urojone części powinny być również dziesiętne), i mogą być wyprowadzane na liście twojego języka / format tablicy lub ciąg znaków z liczbami oddzielonymi spacjami lub znakami nowej linii. Wbudowane, które obliczają n-te pierwiastki jedności lub n-te prymitywne pierwiastki jedności są niedozwolone.
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach.
Przykładowe wejścia i wyjścia
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