c/c++编程题 之 求sin(x)近似值

来源:互联网 发布:印度进出口数据 编辑:程序博客网 时间:2024/04/30 03:46

求sin(x)近似值


时间限制:1 Sec 内存限制:128 MB
提交:35 正确:11

[ 提交 ] [ 统计 ] [ 提问 ]

题目描述

利用公式

计算sin(x)的值。要求最后一项的绝对值小于10-5,并统计出此时累计的多少项。


输入描述

输入x值(-2π~2π)之间


输出描述

输出计算出的sin(x)的值和累计项数

输入样例

6

输出样例

-0.279415,12
分析:直接用pow(x,n)/jiecheng(n),是行不通的,当数据很大时会有精度损失,出现异常
AC代码如下:
#include "iostream"#include "cstdio"#include "algorithm"#include "cmath"#include "cstring"using namespace std;int main(int argc, char* argv[]){double s,t,x;int n;int count=0;cin>>x;n=1;t=x;s=x;do {count++;n+=2;t=t*(-x*x)/((double)(n)-1)/(double)(n);s=s+t;} while (fabs(t)>=1e-5);printf("%lf,%d\n",s,count);return 0;}


0 0
原创粉丝点击