Related Articles
Program to find the value of sin(nΘ)
• Last Updated : 15 Apr, 2021

Given the value of sin(Θ) and a variable n<=15. The task is to find the value of sin(nΘ) using property of trigonometric functions.
Examples

Input: sin(Θ)=0.5, n=1
Output: 0.5

Input: sin(Θ)=0.5, n=10
Output: -0.866025

Approach: This problem can be solved using De moivre’s theoremand Binomial theorem

Now, we have both sin(Θ) and cos(Θ). Put the value in equation to get your answer.
Below is the implementation of above approach:

## C++

 // C++ Program to find the value of sin(n?)#include #define ll long long int#define MAX 16using namespace std;ll nCr[MAX][MAX] = { 0 }; // This function use to calculate the// binomial cofficient upto 15void binomial(){    // use simple DP to find cofficient    for (int i = 0; i < MAX; i++) {        for (int j = 0; j <= i; j++) {            if (j == 0 || j == i)                nCr[i][j] = 1;            else                nCr[i][j] = nCr[i - 1][j] + nCr[i - 1][j - 1];        }    }} // Function to find the value ofdouble findCosNTheta(double sinTheta, ll n){    // find cosTheta from sinTheta    double cosTheta = sqrt(1 - sinTheta * sinTheta);     // store required answer    double ans = 0;    // use to toggle sign in sequence.    ll toggle = 1;    for (int i = 1; i <= n; i += 2) {        ans = ans + nCr[n][i] * pow(cosTheta, n - i)                        * pow(sinTheta, i) * toggle;        toggle = toggle * -1;    }    return ans;} // Driver code.int main(){    binomial();    double sinTheta = 0.5;    ll n = 10;     cout << findCosNTheta(sinTheta, n) << endl;     return 0;}

## Java

 // Java Program to find the value of sin(n?) public class GFG {         private static final int MAX = 16;    static long nCr[][] = new long [MAX][MAX];         // This function use to calculate the    // binomial coefficient upto 15    static void binomial()    {        // use simple DP to find cofficient        for (int i = 0; i < MAX; i++) {            for (int j = 0; j <= i; j++) {                if (j == 0 || j == i)                    nCr[i][j] = 1;                else                    nCr[i][j] = nCr[i - 1][j] + nCr[i - 1][j - 1];            }        }    }         // Function to find the value of    static double findCosNTheta(double sinTheta, int n)    {        // find cosTheta from sinTheta        double cosTheta = Math.sqrt(1 - sinTheta * sinTheta);             // store required answer        double ans = 0;        // use to toggle sign in sequence.        long toggle = 1;        for (int i = 1; i <= n; i += 2) {            ans = ans + nCr[n][i] * Math.pow(cosTheta, n - i)                            * Math.pow(sinTheta, i) * toggle;            toggle = toggle * -1;        }        return ans;    }               // Driver code    public static void main (String args[]){            binomial();            double sinTheta = 0.5;            int n = 10;                         System.out.println(findCosNTheta(sinTheta, n));    } // This code is contributed by ANKITRAI1}

## Python3

 # Python3 program to find the# value of sin(n-theta) import mathMAX=16nCr=[[0 for i in range(MAX)] for i in range(MAX)] # Function to calculate the binomial# cofficient upto 15def binomial():         # use simple DP to find cofficient    for i in range(MAX):        for j in range(0,i+1):            if j == 0 or j == i:                nCr[i][j] = 1            else:                nCr[i][j] = nCr[i - 1][j] + nCr[i - 1][j - 1] # Function to find the value of cos(n-theta)def findCosNTheta(sinTheta,n):         # find sinTheta from sinTheta    cosTheta = math.sqrt(1 - sinTheta * sinTheta)         # to store required answer    ans = 0         # use to toggle sign in sequence.    toggle = 1    for i in range(1,n+1,2):        ans = (ans + nCr[n][i]*(cosTheta**(n - i))              *(sinTheta**i) * toggle)        toggle = toggle * -1    return ans     # Driver codeif __name__=='__main__':    binomial()    sinTheta = 0.5    n = 10    print(findCosNTheta(sinTheta, n))     # this code is contributed by sahilshelangia

## C#

 // C# Program to find the value of sin(n?)using System; class GFG{ private static int MAX = 16;static long[,] nCr = new long [MAX, MAX]; // This function use to calculate the// binomial coefficient upto 15static void binomial(){    // use simple DP to find cofficient    for (int i = 0; i < MAX; i++)    {        for (int j = 0; j <= i; j++)        {            if (j == 0 || j == i)                nCr[i, j] = 1;            else                nCr[i, j] = nCr[i - 1, j] +                            nCr[i - 1, j - 1];        }    }} // Function to find the value of cos(n-theta)static double findCosNTheta(double sinTheta, int n){    // find cosTheta from sinTheta    double cosTheta = Math.Sqrt(1 - sinTheta *                                    sinTheta);     // store required answer    double ans = 0;         // use to toggle sign in sequence.    long toggle = 1;    for (int i = 1; i <= n; i += 2)    {        ans = ans + nCr[n, i] * Math.Pow(cosTheta, n - i) *                                Math.Pow(sinTheta, i) * toggle;        toggle = toggle * -1;    }    return ans;} // Driver codepublic static void Main (){    binomial();    double sinTheta = 0.5;    int n = 10;         Console.Write(findCosNTheta(sinTheta, n));}} // This code is contributed by ChitraNayal

## PHP

 

## Javascript

 
Output:
-0.866025

Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.

My Personal Notes arrow_drop_up