zoukankan      html  css  js  c++  java
  • YTU 2405: C语言习题 牛顿迭代法求根

    2405: C语言习题 牛顿迭代法求根

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 562  解决: 317

    题目描述

    用牛顿迭代法求根。方程为ax3+bx2+cx+d=0。系数a,b,c,d的值一次为1,2,3,4,由主函数输入。求x在1附近的一个实根。求出根后由主函数输出。结果保留两位小数。

    输入

    系数a,b,c,d的值

    输出

    x在1附近的一个实根

    样例输入

    1 2 3 4

    样例输出

    -1.65

    提示

     主函数已给定如下,提交时不需要包含下述主函数

    /* C代码 */

    int main()

    {

     double solut(double ,double ,double ,double );

     double a,b,c,d;

     scanf("%lf%lf%lf%lf",&a,&b,&c,&d);

     printf("%.2f",solut(a,b,c,d));;

     return 0;

    }

    /* C++代码 */

    int main()

    {

     double solut(double ,double ,double ,double );

     double a,b,c,d;

     cin>>a>>b>>c>>d;

     cout<<setiosflags(ios::fixed);

     cout<<setprecision(2); 

     cout<<solut(a,b,c,d)<<endl;

     return 0;

    }

    迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……

    #include <stdio.h>
    #include <math.h>
    double solut(double a,double b,double c,double d)
    {
        double x1=0,x=1;
        while(fabs(x1-x)>0.000001)
        {
            x=x1;
            x1=x-(a*x*x*x+b*x*x+c*x+d)/(3*a*x*x+2*b*x+c);
        }
        return x1;
    }
    int main()
    {
        double solut(double ,double ,double ,double );
        double a,b,c,d;
        scanf("%lf%lf%lf%lf",&a,&b,&c,&d);
        printf("%.2f",solut(a,b,c,d));;
        return 0;
    }
    

  • 相关阅读:
    数据库
    linux
    linux
    python_函数进阶1
    python_函数初识
    python_文件操作
    python_基础数据类型补充
    python 小数据池,代码块总览
    python_基础数据类型二
    python_基础数据类型一
  • 原文地址:https://www.cnblogs.com/im0qianqian/p/5989459.html
Copyright © 2011-2022 走看看