c/c++编程题 之 求sin(x)近似值 - Go语言中文社区

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


求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,%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 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢