交错级数求和s=x-x^3/3!+x^5/5!-x^7/7!+......,当最后一项的绝对值小于10-6为止。
输入一个实数x,输出该级数之和的近似值(保留5位小数)。
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
int main()
{
float a,b,x;
int c,i,j,k;
cin>>x;
b=c=0;
k=1;
for(i=1;i<i+1;i=i+2)
{
for(j=1;j<=i;j++)
{
k=k*j;
}
a=((pow(-1,c)*pow(x,i))/k);
b+=a;
c++;
k=1;
if(fabs(a)<1e-6)break;
}
cout<<setiosflags(ios::fixed)<<setprecision(5)<<b;
return 0;
}
我找了半个小时,终于找到这个题目了
#include<stdio.h>
#include<math.h>
int main(){
double x, y = 1;
scanf("%lf", &x);
double sum = 0, temp;
int flag = -1;
for(int i = 1; ; i++){
flag *= -1;
temp = pow(x,2*i-1);
if(i > 1)
y = y*(2*i-2)*(2*i-1);
if(temp/y < 0.000001)
break;
sum += flag*temp/y;
}
printf("%0.5lf", sum);
}
你的时间限制是多少?
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632