c++练习打卡(6)
牛顿迭代法求方程根
方程a*x*x*x+b*x*x+c*x+d=0,系数a,b,c,d都由主函数输入,求x在1附近的一个实根
x=x0-f(x0)/f"(x0),|x-x0|<=10^(-5)
流程图:
伪代码:
源代码:
#include<iostream>
#include<math.h>
int main (){
float solution(float a,float b,float c,float d);
float a,b,c,d,x;
scanf("%f %f %f %f",&a,&b,&c,&d);
x=solution(a,b,c,d);
printf("所求方程的根为x=%f",x);
}
float solution(float a,float b,float c,float d){
float x0,x=1.5,f,fd,h;
do{
x0=x;
f=a*x0*x0*x0+b*x0*x0+c*x0+d;
fd=3*a*x0*x0+2*b*x0+c;
h=f/fd;
x=x0-h;
}while(fabs(x-x0)>=1e-5);
return x;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律