C++编程,我是个初学者,谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/28 03:15:32
对输入的x,计算级数
1+x-x^2/2!+x^3/3!-....(-1)^(n+1)/x^n/n!
要求精度为10^-8.
谢谢各位了,这里(-1)^(n+1)表示-1的n+1次方,x^n表示x的n次方。

#include<iostream>
#include<math.h>
using namespace std;
int fun(int n)
{
if(n==1 || n==0)
return 1;
else
return n*fun(n-1);
}
int main()
{
int x,n=1;
double sum=1;
cin>>x;
while((pow(x,n)/fun(n)) > pow(10,-8))
{
if(n%2 == 0)
{
sum = sum -pow(x,n)/fun(n);
}
else
sum = sum +pow(x,n)/n;
n++;
}
cout<<"sum="<<sum<<endl;

return 0;
}

#include <iostream.h>
#include <stdio.h>

//精确n位
double pi(double x, size_t n)
{
double tmp(1.0f);
size_t index(1);
double fac(1.0f);
double pw(1.0f);
while (index < 30 )
{
fac = fac * index;
pw *= x;
if(index % 2 == 0)
tmp -= pw/static_cast<double>(fac);
else
tmp += pw/static_cast<double>(fac);
index++;