习题4-2 求幂级数展开的部分和

    技术2024-07-31  63

    习题4-2 求幂级数展开的部分和

    已知函数e​x可以展开为幂级数1+x+x2/2!+x3/3!+⋯+x​k/k!+⋯。现给定一个实数x,要求利用此幂级数部分和求ex的近似值,求和一直继续到最后一项的绝对值小于0.00001。

    输入格式:

    输入在一行中给出一个实数x∈[0,5]。

    输出格式:

    在一行中输出满足条件的幂级数部分和,保留小数点后四位。

    输入样例:

    1.2

    输出样例:

    3.3201

    通过代码

    #include<stdio.h> #include<math.h> int main() { double x, sum = 1, i = 1, j = 0; double power1 = 0 , power2 = 0; double item = 1; scanf("%lf", &x); while(fabs(item) >= 0.00001){ power1 = 1; for(j=1; j<=i; j++){ power1 *= j; } power2 = pow(x, i); item = power2/power1; sum += item;//power1 = 0时,sum算不出来 i++; } printf("%.4lf", sum); }

    问题

    1.阶乘的取得,通过定义power1 = 1,循环乘【1-i】得到。 2.求和的第一项item,不能通过power2/power1计算 ,因为power1初始值为0,不能当作除数。

    应用函数

    double fabs(double x); //计算x绝对值 double pow(double x, double y); //计算x的y次方
    Processed: 0.011, SQL: 9