问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

大一下学期刚开始学c语言 求n次方根 用牛顿迭代法 别用一些不懂的知识 就用牛顿迭代法前面和后面一点点的

发布网友 发布时间:2022-04-24 07:09

我来回答

1个回答

热心网友 时间:2023-10-08 23:25

请参考:百度百科之牛顿迭代法。

#include <stdio.h>

#include <stdlib.h> 

#include <string.h> 

#include <stdio.h>

#include <stdio.h>

#include <math.h>

int n;

int y;

double func(double x) //函数   

{

    double k = 1;

    int i;

    

    for(i = 0; i < n; i++)

    {

        k *= x;

    }

    return k-y;

}

double func1(double x) //导函数   

{

    double k = 1;

    int i;

    for(i = 0; i < n-1; i++)

    {

        k *=x;

    }

    return n*k;

}

int Newton(double *x,double precision,int maxcyc) //迭代次数   

{

      double x1,x0;

      int k;

      x0=*x;

      for(k=0;k<maxcyc;k++)

      {

            if(func1(x0)==0.0)//若通过初值,函数返回值为0   

            {

                  printf("迭代过程中导数为0!\n");

                  return 0;

            }

            x1=x0-func(x0)/func1(x0);//进行牛顿迭代计算   

            if(fabs(x1-x0)<precision || fabs(func(x1))<precision) //达到结束条件   

            {

                  *x=x1; //返回结果   

                  return 1;

            }

            else //未达到结束条件   

                x0=x1; //准备下一次迭代   

    }

    printf("迭代次数超过预期!\n"); //迭代次数达到,仍没有达到精度   

    return 0;

}

int main()

{

    double x,precision;

    int maxcyc;

    printf("输入被开方数:");

    scanf("%d",&y);

    printf("输入开方数:");

    scanf("%d",&n);

    printf("输入初始迭代值x0(不为0):");

    scanf("%lf",&x);

    printf("输入最大迭代次数:");

    scanf("%d",&maxcyc);

    printf("迭代要求的精度:");

    scanf("%lf",&precision);

    if(Newton(&x,precision,maxcyc)==1) //若函数返回值为1   

        printf("该值附近的根为:%lf\n",x);

    else //若函数返回值为0   

        printf("迭代失败!\n");

    getchar();

    system("pause");

}

参考资料:http://ke.baidu.com/view/643093.htm#3

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 经济计量学中非条件期望是是什么意思? 递归和迭代算法的复杂度分析 expectation什么时候用复数什么时候用单数?请尽量详细。 更新迭代、推陈出新,区别是? 【概率论与数理统计】关于迭代期望法则的证明。虽然有简略说明,但是还是不知道怎么证明。。。 牛顿迭代公式有关算法? 递归、递推、迭代分别是什么意思,有什么区别? 什么是牛顿迭代法? 期望迭代法则的应用 迭代思维应遵守哪几个核心思想? 期望迭代法则 期望迭代法则具体指的是什么 梦见朋友生气 期望迭代法则具体指的是什么? 经常做梦与人生气发火是怎么回事? 梦见看见朋友特别生气的样子以为什么 梦见别人生气,吵架,撒糖。 铁树属于哪类植物资源 有谁知道傣族的资料? 贵州省册亨县8月10号还可以去体检当兵吗 敏捷开发中,产品迭代很快,鼓励开发人员测试,这种情况怎么看 首饰迭代原因? Fluent软件的迭代是什么意思啊? 我第一次在闲鱼上卖东西。交易安全吗? 闲鱼第一次卖东西需要注意什么? 闲鱼第一次卖东西很快就有人买吗 第一次在闲鱼卖东西,买家付款后我要怎样发货 第一次在闲鱼上卖东西注意什么?主要从来没有发过快递 发什么快递好?大 ... led灯条怎么选择,LED灯条多少钱? 第一次在闲鱼上卖出去的东西钱怎么要15天才能到? 因为是第一次在闲鱼卖东西,快递自己叫的不是系统上直接上门取件,客户怎么确认收货 第一次在闲鱼卖东西 已经显示的是付款 请问我可以发货了吗 假如我发货了货到了买家会不会不给钱 灯条坏了怎么维修 第一次在闲鱼卖东西流程 第一次在闲鱼卖东西,我发货后对方会不会拆开包装,然后退货什么的? 「灯条演变史」:内存会发光到底是怎么来的 灯带与灯条的区别? 如何在闲鱼里卖东西? 灯箱灯条与灯条怎么接线? 小学语文gkh教案怎么写