牛顿迭代法求解(第一次写,我是小白)

解方程

https://ac.nowcoder.com/acm/contest/5600/G

用牛顿迭代法
图片说明
令f(x)=x^a+blnx-c
可以求出xn+1 = xn - f( xn ) / f'( xn )
然后只要令初始x为一个大于0的数就行

#include<stdio.h>
#include<math.h>
int main(){
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    double x=1;
    while(fabs(pow(x,a)+b*log(x)-c)>0.0000001)
    {
        x=x-(pow(x,a)+b*log(x)-c)/(a*pow(x,a-1)+b/x);
    }
    printf("%.14lf",x);
}
全部评论

相关推荐

2025-12-27 22:28
门头沟学院 Java
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
2025-12-08 17:10
拼多多 算法 38x18 大专
李橙子:你的白菜价我做梦都遥不可及
点赞 评论 收藏
分享
2025-12-27 22:21
门头沟学院 Java
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务