Membiarkan z
menjadi bilangan kompleks. z
adalah akar primitif kesatu jika untuk bilangan bulat positif tertentu n
dan untuk bilangan bulat positif k < n
.
Tantangan
Tulis sebuah program atau fungsi lengkap yang, diberi bilangan bulat positif n
sebagai input, mengeluarkan semua akar keaslian primitif. Anda dapat menampilkannya dalam bentuk kutub ( e^θi
atau e^iθ
, argumen harus berupa desimal dengan setidaknya 2 tempat desimal) atau bentuk persegi panjang ( a + bi
atau bentuk yang serupa, bagian nyata dan imajiner juga harus desimal), dan mereka dapat ditampilkan dalam daftar bahasa Anda / Format array atau sebagai string dengan angka yang dipisahkan oleh spasi atau baris baru. Built-in yang menghitung n akar persatuan atau akar n primitif persatuan tidak diperbolehkan.
Ini adalah kode-golf , jadi kode terpendek dalam byte menang.
Input dan Output Sampel
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