Позвольте z
быть комплексное число. z
является n-ым примитивным корнем единства, если для определенного положительного целого числа n
и для любого положительного целого числа k < n
.
Вызов
Напишите полную программу или функцию, которая, учитывая положительное целое число в n
качестве входных данных, выводит все n-е примитивные корни единства. Вы можете вывести их в полярной форме ( e^θi
или e^iθ
аргумент должен быть десятичным с не менее чем двумя десятичными разрядами) или прямоугольной форме ( a + bi
или аналогичной форме, действительные и мнимые части также должны быть десятичными), и они могут выводиться в списке вашего языка / формат массива или в виде строки с числами, разделенными пробелами или переводами строки. Встроенные модули, которые вычисляют n-е корни единства или n-е первообразные корни единства, не допускаются.
Это код-гольф , поэтому выигрывает самый короткий код в байтах.
Образцы входов и выходов
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