为了账号安全,请及时绑定邮箱和手机立即绑定

用泰勒公式求sin的值,为什么结果是nan?求教,谢谢..

用泰勒公式求sin的值,为什么结果是nan?求教,谢谢..

C C++
FOSS 2017-03-12 15:32:58
#include <iostream>#include <cmath>using namespace std;int main (void){    double b=0,c=0;    double j=1.0,a;    int p=1,n=1;    cin>>a;    do    {        n+=2;        j=j*(n-1)*(n);        c=pow(a,n)/j;        b+=p*c;        p*=-1;    }while(fabs(b)>=0.000001);    cout<<b<<endl;    return 0;}
查看完整描述

1 回答

已采纳
?
asd8532

TA贡献143条经验 获得超187个赞

 do//运行一遍
    {
        n+=2;//n=3
        j=j*(n-1)*(n);//j=1*2*3
        c=pow(a,n)/j;//a*a*a/1*2*3
        b+=p*c;//b=1*c就是泰勒的第二项了x^3/3!,而且本来是负的,变成了正的x^3/3!
        p*=-1;
    }while(fabs(b)>=0.000001);


查看完整回答
2 反对 回复 2017-03-14
  • 1 回答
  • 0 关注
  • 1623 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信