注册 登录
编程论坛 数据结构与算法

关于求cosx的算法

Crocodile_JX 发布于 2010-09-28 10:01, 788 次点击
各位大虾,谁知道关于求cosx的算法?我想了好多天都没有结果。。。
4 回复
#2
Crocodile_JX2010-09-29 15:17
用台劳(泰勒)公式求解:
Cos x=1-x2/2!+x4/4!-x6/6!+x8/8!-…
x2表示x的平方,x4表示x的四次方...
#3
Crocodile_JX2010-09-29 15:18
感谢大家的关注,谢谢!
#4
寒风中的细雨2010-09-29 22:43
#include <stdio.h>
#include <math.h>
#define  PI  3.14159


double x_power(double x, double y);//求x的y次幂
int factor(int i); //求i的阶乘
int main()
{
    int count = 1;//带有x的 第几项
    double x, temp;
    double sum = 1.0;//
    int t_f = factor(count*2);
    double o_xp;

    printf("输入x的值(度):");
    scanf("%lf", &x);
    x = x/180.0;
    x = x*PI;

    o_xp = x_power( x, count*2 );
   
    sum += (pow(-1, count)*o_xp) / t_f;
    temp = o_xp / t_f;
    while( temp >= 0.0000001 )
    {
        ++count;
        t_f = factor(count*2);
        o_xp = x_power( x, count*2 );

        sum += (pow(-1, count)*o_xp) / t_f;
        temp = o_xp / t_f;
    }
    printf("%f\n", sum);
    return 0;
}

double x_power(double x , double i)
{
    return pow(x, i);
}

int factor( int i )
{
    if( i == 1 )
        return 1;
    else
        return i*factor(i-1);
}
#5
寒风中的细雨2010-09-29 22:47
写的很潦草
  
1