1053: 正弦函数
时间限制: 1 Sec 内存限制: 128 MB
提交: 47659 解决: 22410
[状态] [讨论版] [提交] [命题人:admin]
题目描述
输入x,计算上面公式的前10项和。
输入
输入一个实数x。
输出
输出一个实数,即数列的前10项和,结果保留3位小数。
样例输入 Copy
1
样例输出 Copy
0.841
来源/分类
代码:
/*这题oj上有个坑,要用double来定义x和sum和m,
否则会有超限越界的情况*/
#include<stdio.h>
#include<math.h>
int main()
{
int i;
double x,sum,c,m,a;
sum=0;
a=1;
c=1.0;
scanf("%lf",&x);
m=x;
for(i=1;i<=10;i++)
{
sum+=a*m/c;
a=-a;
m=m*x*x;//分子
c=c*2*i*(2*i+1);//用累乘来计算分母
}
printf("%.3lf",sum);
return 0;
}