栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【已解决】C语言输入实数x和正数eps计算多项式1-x+...

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【已解决】C语言输入实数x和正数eps计算多项式1-x+...

本博文源于C语言基础,一天不敲代码自己知道,代码敲得少,都感觉好生疏。还好一切都捡回来了。刚才同学问我一道C语言题目,我接过来,然后想了一下,觉得写下这个题解。如果大家有需要可以点赞收藏。也可以观望一二。

题目再现

3、 输入实数x和正数eps,计算多项式 1 − x + x 2 2 ! − x 3 3 ! + x 4 4 ! − x 4 4 ! + x 5 5 ! . . . 1-x+frac{x^2}{2!}-frac{x^3}{3!}+frac{x^4}{4!}-frac{x^4}{4!}+frac{x^5}{5!}... 1−x+2!x2​−3!x3​+4!x4​−4!x4​+5!x5​...的和,直到末项的绝对值小于eps为止。

实验效果

输入1,和0.6
1-1/1+1/2=0.5结果
因此,你输入1和0.5的时候,答案会显示0.5

实验思想

学会用归纳思想,首先-1在变化,x上面的次数在变化,分母下面的阶乘在变化,然后分析题目最后的终止条件,就是abs(s) ( − 1 ) n x n n ! (-1)^nfrac{x^n}{n!} (−1)nn!xn​
写出这个公式后,利用输入、处理、输出,直接得出结果。

实验效果
#include
#include
//jc是求阶乘用的,比较死板

int jc(int n)
{
    int res = 1;
    for(int i = 1;i<=n;i++)
        res *= i;
    return res;
}
int main()
{
    double x;
    scanf("%lf",&x);
    double eps;
    scanf("%lf",&eps);
    int flag = -1;
    double res = 1.0;
    int n = 1;
    while(1)
    {
        double s = (pow(flag,n))*((pow(x,n))/jc(n));//他是通项,flag就是-1,n就是通项的n,其余查考通项公式

        res = res + s;//最后的累加结果
        if(abs(s) 
总结 

一天不敲代码自己直到,一天不学英语自己知道。一天不学习数学自己知道,一直相信只有不断地看,才会有新发现,无他,唯手熟尔。以前敲代码都是看着教材敲,动脑子也不用动脑子,现在直接给我题目后,我要把它转化为几步,然后逐步实现,最终展现出结果。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/384830.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号