#include <stdio.h>
int kaijo(int n);
double my_pow_posd(double n, int m);
double mycos(double rad);
double mysin(double rad);
int main(){
double x;
for(x=-3.14;x<3.14;x+=0.02){
printf("x %.2f cos %f sin %f\n",x,mycos(x),mysin(x));
}
return 0;
}
int kaijo(int n){
return (n==0) ? 1 : n*kaijo(n-1);
}
double my_pow_posd(double n, int m){
return (m==0) ? 1 : n*my_pow_posd(n,m-1);
}
double mycos(double rad){
double ret = 0;
int sign = 1;
int i;
for(i=0;i<=10;i+=2){
ret += sign*my_pow_posd(rad,i)/kaijo(i);
sign *= -1;
}
return ret;
}
double mysin(double rad){
double ret = 0;
int sign = 1;
int i;
for(i=1;i<=11;i+=2){
ret += sign*my_pow_posd(rad,i)/kaijo(i);
sign *= -1;
}
return ret;
}