#include <stdio.h>
#include <math.h>
#define PI 3.141592654
/*
long double factorial(int n)
{
return (n<=1) ? 1 : n*factorial(n-1);
}
double tylor_sine(double x) {
int n=0,fac;
double result=0,term=0;
do {
fac=(2*n+1);
result=result+term;
term=pow(-1,n)*(pow(x,fac)/factorial(fac));
n++;
}while(fabs(term)>=.00000001);
return result;
}
*/
double cube (double x) {
return x*x*x;
}
double sine (double angle) {
if (angle < 0.0000001) { return angle; }
return 3*(sine (angle/3.0)) - 4*cube(sine (angle/3.0));
}
int main() {
//printf("tylor-series sine(10): %f\n",tylor_sine(10.0));
printf("triple-angle sine(10): %f\n",sine(10.0));
//printf("tylor-series sine(1): %f\n",tylor_sine(1.0));
printf("triple-angle sine(1): %f\n",sine(1.0));
//printf("tylor-series sine(PI/2): %f\n",tylor_sine(PI/2));
printf("triple-angle sine(PI/2): %f\n",sine(PI/2));
getchar();
return 0;
}
//sorry codepad math.h don't have pow() function
//i have to comment out tylor series but you can try un-comment and compile it