C语言编程问题实现(利用泰勒公式计算e的近似值)

该文介绍了一种使用泰勒级数计算自然对数e的近似值的方法,通过累加项算法,当每一项的绝对值小于10的负5次方时停止计算。在C语言中实现这一算法,不断更新term并累加到e,同时统计累加项的数量count,最终输出达到精度要求时的count和e的值。
摘要由CSDN通过智能技术生成

问题:利用泰勒级数e=1+1/1!+1/21+1/3!+...+1/n!,计算e的近似值。当最后一项的绝对值小于10负5次方时认为达到了精度要求,要求统计总共累加了多少项。

解题思路:采用累加和算法 e = e + term。如下寻找累加项的构成规律:利用前项计算后项比寻找统一的累加项表示形式要简单一些,由1/2!=1/1!除以2,1/3!=1/2!除以3,...,,可以发现前后项之间的关系是term(n)= term(n-1)除以n写成C语句是term = term / n;"term的初值为1.0.,n的初值也为1,n按n=n+l变化,统计累加项数只要设置一个计数器变量即可,这里,计数器变量取名为count,初值为0,在循环体中每累加一项就加1一次。

代码实现(C语言)

代码源码:(文本)

#define _CRT_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int main(void)
{
    double term = 1.0, e = 1.0;
    int n = 1, count = 1;
    while (fabs(term) >= 1e-5)
    {
        term = term / n;
        e = term + e;
        n++;
        count++;
    }
    printf("count=%d,e=%f\n", count, e);
    return 0;
}

运行结果:

  • 9
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值