Küçük bir tam sayı verildiğinde, 6 anlamlı basamağa kadar birliğin tüm n'inci köklerini yazdırın. Temel olarak x denkleminin tüm köklerini bulmamız gerekiyorN- 1.
Örnekler:
Input : n = 1 Output : 1.000000 + i 0.000000 x - 1 = 0 has only one root i.e. 1 Input : 2 Output : 1.000000 + i 0.000000 -1.000000 + i 0.000000 x2 - 1 = 0 has 2 distinct roots i.e. 1 and -1
Herhangi bir karmaşık sayının bir üssü olduğu zaman 1 değerini veriyorsa birliğin kökü olduğu söylenir.
Birliğin n'inci kökü, n üssüne yükseltildiğinde 1 veren herhangi bir karmaşık sayıdır.
Mathematically An nth root of unity where n is a positive integer (i.e. n = 1 2 3 …) is a number z satisfying the equation z^n = 1 or z^n - 1 = 0
Şunu kullanabiliriz: De Moivre'nin formülü Burada
( Cos x + i Sin x )^k = Cos kx + i Sin kx Setting x = 2*pi/n we can obtain all the nth roots of unity using the fact that Nth roots are set of numbers given by Cos (2*pi*k/n) + i Sin(2*pi*k/n) Where 0 <= k < n
Yukarıdaki gerçeği kullanarak birliğin tüm n'inci köklerini kolayca yazdırabiliriz!
sql'de birincil anahtar ve bileşik anahtar
Aşağıda aynı program bulunmaktadır.
C++// C++ program to print n'th roots of unity #include using namespace std; // This function receives an integer n and prints // all the nth roots of unity void printRoots(int n) { // theta = 2*pi/n double theta = M_PI*2/n; // print all nth roots with 6 significant digits for(int k=0; k<n; k++) { // calculate the real and imaginary part of root double real = cos(k*theta); double img = sin(k*theta); // Print real and imaginary parts printf('%.6f' real); img >= 0? printf(' + i '): printf(' - i '); printf('%.6fn' abs(img)); } } // Driver function to check the program int main() { printRoots(1); cout << endl; printRoots(2); cout << endl; printRoots(3); return 0; }
Java // Java program to print n'th roots of unity import java.io.*; class GFG { // This function receives an integer n and prints // all the nth roots of unity static void printRoots(int n) { // theta = 2*pi/n double theta = 3.14*2/n; // print all nth roots with 6 significant digits for(int k=0; k<n; k++) { // calculate the real and imaginary part of root double real = Math.cos(k*theta); double img = Math.sin(k*theta); // Print real and imaginary parts System.out.println(real); if (img >= 0) System.out.println(' + i '); else System.out.println(' - i '); System.out.println(Math.abs(img)); } } // Driver function to check the program public static void main (String[] args) { printRoots(1); //System.out.println(); printRoots(2); //System.out.println(); printRoots(3); } } // This code is contributed by Raj
Python3 # Python3 program to print n'th roots of unity import math # This function receives an integer n and prints # all the nth roots of unity def printRoots(n): # theta = 2*pi/n theta = math.pi * 2 / n # print all nth roots with 6 significant digits for k in range(0 n): # calculate the real and imaginary part of root real = math.cos(k * theta) img = math.sin(k * theta) # Print real and imaginary parts print(real end=' ') if(img >= 0): print(' + i ' end=' ') else: print(' - i ' end=' ') print(abs(img)) # Driver function to check the program if __name__=='__main__': printRoots(1) printRoots(2) printRoots(3) # This code is contributed by # Sanjit_Prasad
C# // C# program to print n'th roots of unity using System; class GFG { // This function receives an integer n and prints // all the nth roots of unity static void printRoots(int n) { // theta = 2*pi/n double theta = 3.14*2/n; // print all nth roots with 6 significant digits for(int k=0; k<n; k++) { // calculate the real and imaginary part of root double real = Math.Cos(k*theta); double img = Math.Sin(k*theta); // Print real and imaginary parts Console.Write(real); if (img >= 0) Console.Write(' + i '); else Console.Write(' - i '); Console.WriteLine(Math.Abs(img)); } } // Driver function to check the program static void Main() { printRoots(1); printRoots(2); printRoots(3); } } // This code is contributed by mits
PHP // PHP program to print n'th roots of unity // This function receives an integer n // and prints all the nth roots of unity function printRoots($n) { // theta = 2*pi/n $theta = pi() * 2 / $n; // print all nth roots with 6 // significant digits for($k = 0; $k < $n; $k++) { // calculate the real and imaginary // part of root $real = cos($k * $theta); $img = sin($k * $theta); // Print real and imaginary parts print(round($real 6)); $img >= 0 ? print(' + i '): print(' - i '); printf(round(abs($img) 6) . 'n'); } } // Driver Code printRoots(1); printRoots(2); printRoots(3); // This code is contributed by mits ?>
JavaScript <script> // javascript program to print n'th roots of unity // This function receives an integer n and prints // all the nth roots of unity function printRoots(n) { // theta = 2*pi/n var theta = (3.14*2/n); // print all nth roots with 6 significant digits for(k = 0; k < n; k++) { // calculate the real and imaginary part of root var real = Math.cos(k*theta); var img = Math.sin(k*theta); // Print real and imaginary parts document.write(real.toFixed(6)); if (img >= 0) document.write(' + i '); else document.write(' - i '); document.write(Math.abs(img).toFixed(6)+'
'); } } // Driver function to check the program printRoots(1); //document.write('
'); printRoots(2); //document.write('
'); printRoots(3); // This code is contributed by shikhasingrajput </script>
Çıkış:
1.000000 + i 0.000000 1.000000 + i 0.000000 -1.000000 + i 0.000000 1.000000 + i 0.000000 -0.500000 + i 0.866025 -0.500000 - i 0.866025
Referanslar: Vikipedi