求sin(x)近似值
时间限制:1 Sec 内存限制:128 MB
提交:35 正确:11
[
提交 ] [
统计 ] [
提问 ]
题目描述
利用公式
计算sin(x)的值。要求最后一项的绝对值小于10-5,并统计出此时累计的多少项。
输入描述
输出描述
输出计算出的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,%dn",s,count);
return 0;
}
|
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/ESESZB/article/details/53560786
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
-
发表于 2019-09-03 22:37:19
- 阅读 ( 2052 )
- 分类: