Skip to content
Related Articles

Related Articles

Program to calculate the value of sin(x) and cos(x) using Expansion
  • Difficulty Level : Medium
  • Last Updated : 03 Oct, 2019

Given a value of angle, you need to calculate Sin and Cos values corresponding to it.

For sin function

Examples:

Input : 90
Output : 1

{\displaystyle  Sin(x)=\sum_{k=0}^{\infty } \frac {(-1)^k}{(2k+1)!}x^{2k+1}=x-\frac {x^3}{3!} + \frac {x^5}{5!} - .........}

C++




// CPP code for implementing sin function
#include <iostream>
#include <math.h>
using namespace std;
  
// Function for calculating sin value
void cal_sin(float n)
{    
    float accuracy = 0.0001, denominator, sinx, sinval;
      
    // Converting degrees to radian
    n = n * (3.142 / 180.0); 
  
    float x1 = n;
      
    // maps the sum along the series
    sinx = n;         
      
    // holds the actual value of sin(n)
    sinval = sin(n);    
    int i = 1;
    do
    {
        denominator = 2 * i * (2 * i + 1);
        x1 = -x1 * n * n / denominator;
        sinx = sinx + x1;
        i = i + 1;
    } while (accuracy <= fabs(sinval - sinx));
    cout << sinx;
}
  
// Main function
int main()
{
    float n = 90;
    cal_sin(n);
    return 0;
}


Java




import static java.lang.Math.sin;
  
// JAVA code for implementing sin function
  
class GFG {
  
// Function for calculating sin value 
static void cal_sin(float n) 
{     
    float accuracy = (float) 0.0001, denominator, sinx, sinval; 
      
    // Converting degrees to radian 
    n = n * (float)(3.142 / 180.0); 
  
    float x1 = n; 
      
    // maps the sum along the series 
    sinx = n;         
      
    // holds the actual value of sin(n) 
    sinval = (float)sin(n);     
    int i = 1
    do
    
        denominator = 2 * i * (2 * i + 1); 
        x1 = -x1 * n * n / denominator; 
        sinx = sinx + x1; 
        i = i + 1
    } while (accuracy <= sinval - sinx); 
       System.out.println(sinx); 
  
// Main function 
  
  
    public static void main(String[] args) {
        float n = 90
    cal_sin(n); 
      
    }
}


Python3




# Python3 code for implementing 
# sin function
import math;
  
# Function for calculating sin value
def cal_sin(n):
  
    accuracy = 0.0001;
      
    # Converting degrees to radian
    n = n * (3.142 / 180.0); 
      
    x1 = n;
      
    # maps the sum along the series
    sinx = n;     
      
    # holds the actual value of sin(n)
    sinval = math.sin(n); 
    i = 1;
    while(True):
      
        denominator = 2 * i * (2 * i + 1);
        x1 = -x1 * n * n / denominator;
        sinx = sinx + x1;
        i = i + 1;
        if(accuracy <= abs(sinval - sinx)):
            break;
          
    print(round(sinx));
  
# Driver Code
n = 90;
cal_sin(n);
      
# This code is contributed by mits


C#




// C# code for implementing sin function 
using System;
  
class GFG
{
// Function for calculating sin value 
static void cal_sin(float n) 
    float accuracy = (float) 0.0001, 
                      denominator, sinx, sinval; 
      
    // Converting degrees to radian 
    n = n * (float)(3.142 / 180.0); 
  
    float x1 = n; 
      
    // maps the sum along the series 
    sinx = n;     
      
    // holds the actual value of sin(n) 
    sinval = (float)Math.Sin(n);     
    int i = 1; 
    do
    
        denominator = 2 * i * (2 * i + 1); 
        x1 = -x1 * n * n / denominator; 
        sinx = sinx + x1; 
        i = i + 1; 
    } while (accuracy <= sinval - sinx); 
      
    Console.WriteLine(sinx); 
  
// Driver Code
static public void Main ()
{
    float n = 90; 
    cal_sin(n); 
}
}
  
// This code is contributed by jit_t


PHP




<?php
// PHP code for implementing sin function
  
// Function for calculating sin value
function cal_sin($n)
    $accuracy = 0.0001;
      
    // Converting degrees to radian
    $n = $n * (3.142 / 180.0); 
  
    $x1 = $n;
      
    // maps the sum along the series
    $sinx = $n;         
      
    // holds the actual value of sin(n)
    $sinval = sin($n); 
    $i = 1;
    do
    {
        $denominator = 2 * $i * (2 * $i + 1);
        $x1 = -$x1 * $n * $n / $denominator;
        $sinx = $sinx + $x1;
        $i = $i + 1;
    } while ($accuracy <= abs($sinval - $sinx));
    echo round($sinx);
}
  
// Main function
  
    $n = 90;
    cal_sin($n);
      
// This code is contributed by mits
?>



Output:



1

 

For cos function

Examples:

Input : 30
Output : 0.86602

{\displaystyle Cos(x)=\sum_{k=0}^{\infty } \frac {(-1)^k}{(2k)!}x^{2k}=1-\frac {x^2}{2!} + \frac {x^4}{4!} -.....}

C++




// CPP code for implementing cos function
#include <iostream>
#include <math.h>
using namespace std;
  
// Function for calculation
void cal_cos(float n)
{
    float accuracy = 0.0001, x1, denominator, cosx, cosval;
      
    // Converting degrees to radian
    n = n * (3.142 / 180.0);
      
    x1 = 1;
      
    // maps the sum along the series
    cosx = x1;         
      
    // holds the actual value of sin(n)
    cosval = cos(n);
    int i = 1;
    do
    {
        denominator = 2 * i * (2 * i - 1);
        x1 = -x1 * n * n / denominator;
        cosx = cosx + x1;
        i = i + 1;
    } while (accuracy <= fabs(cosval - cosx));
    cout << cosx;
}
  
// Main function
int main()
{
    float n = 30;
    cal_cos(n);


Java




// Java code for implementing cos function
  
import static java.lang.Math.cos;
  
class GFG {
// Function for calculation
  
static void cal_cos(float n) {
    float accuracy = (float) 0.0001, x1, denominator, cosx, cosval;
    // Converting degrees to radian
    n = n * (float) (3.142 / 180.0);
    x1 = 1;
    // maps the sum along the series
    cosx = x1;
    // holds the actual value of sin(n)
    cosval = (float) cos(n);
    int i = 1;
    do {
        denominator = 2 * i * (2 * i - 1);
        x1 = -x1 * n * n / denominator;
        cosx = cosx + x1;
        i = i + 1;
          
    }
    while (accuracy <= cosval - cosx);
    System.out.println(cosx);
      
}
  
// Main function
public static void main(String[] args) {
    float n = 30;
    cal_cos(n);
      
}
}


Python3




# Python 3 code for implementing cos function
  
from math import fabs, cos
  
# Function for calculation
def cal_cos(n):
    accuracy = 0.0001
  
    # Converting degrees to radian
    n = n * (3.142 / 180.0)
      
    x1 = 1
      
    # maps the sum along the series
    cosx = x1
      
    # holds the actual value of sin(n)
    cosval = cos(n)
    i = 1
  
    denominator = 2 * i * (2 * i - 1)
    x1 = -x1 * n * n / denominator
    cosx = cosx + x1
    i = i + 1
    while (accuracy <= fabs(cosval - cosx)):
        denominator = 2 * i * (2 * i - 1)
        x1 = -x1 * n * n / denominator
        cosx = cosx + x1
        i = i + 1
  
    print('{0:.6}'.format(cosx))
  
# Driver Code
if __name__ == '__main__':
    n = 30
    cal_cos(n)
  
# This code is contributed by
# Sahil_Shelangia


C#




// C# code for implementing cos function 
  
using System;
class GFG { 
// Function for calculation 
  
static void cal_cos(float n) { 
    float accuracy = (float) 0.0001, x1, denominator, cosx, cosval; 
    // Converting degrees to radian 
    n = n * (float) (3.142 / 180.0); 
    x1 = 1; 
    // maps the sum along the series 
    cosx = x1; 
    // holds the actual value of sin(n) 
    cosval = (float) Math.Cos(n); 
    int i = 1; 
    do
        denominator = 2 * i * (2 * i - 1); 
        x1 = -x1 * n * n / denominator; 
        cosx = cosx + x1; 
        i = i + 1; 
          
    
    while (accuracy <= cosval - cosx); 
    Console.WriteLine(cosx); 
      
  
// Main function 
static void Main() { 
    float n = 30; 
    cal_cos(n); 
      
// This code is contributed by mits


PHP




<?php
// PHP code for implementing cos function
  
// Function for calculation
function cal_cos($n)
{
    $accuracy = 0.0001;
      
    // Converting degrees to radian
    $n = $n * (3.142 / 180.0);
      
    $x1 = 1;
      
    // maps the sum along the series
    $cosx = $x1;         
      
    // holds the actual value of sin(n)
    $cosval = cos($n);
    $i = 1;
    do
    {
        $denominator = 2 * $i * (2 * $i - 1);
        $x1 = -$x1 * $n * $n / $denominator;
        $cosx = $cosx + $x1;
        $i = $i + 1;
    } while ($accuracy <= abs($cosval - $cosx));
    echo round($cosx, 6);
}
  
// Driver Code
$n = 30;
cal_cos($n);
  
// This code is contributed by mits
?>



Output:

0.86602

This article is contributed by Sakshi Tiwari. If you like GeeksforGeeks(We know you do!) and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :