用泰勒展开式求sinx近似值的多项式为:

输入x求sinx的近似值,要求误差不大于0.00001。
输入格式:
直接输入一个实型数据。没有其它任何附加字符。
输出格式:
直接输出保留3位小数的实型结果。
输入样例:
2.5
输出样例:
0.598
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<iostream>
#include<cmath>
using namespace std;
double x,m;
long long jc(int n)
{
long long t=1;
for(int i=1;i<=n;i++)
{
t*=i;
}
return t;
}
double solve(int i)
{
return (double)pow(m,2*i-1)/jc(2*i-1)*1.0;
}
int main()
{
cin>>m;
long long flag=-1;;
for(int i=1;;i++)
{
double r=solve(i);
if(fabs(x-sin(m))<=0.00001)break;
flag*=-1;
x+=r*flag;
}
printf("%.3lf",x);
}
该程序利用泰勒级数展开式求解sinx的近似值,通过不断迭代直到误差小于0.00001。输入一个实数x,输出保留3位小数的结果。程序中包含了计算阶乘的辅助函数和解决sinx的泰勒级数部分。
2314

被折叠的 条评论
为什么被折叠?



