#include<iostream> #include<cmath> using namespace std; int main() { float x0,x1,y0,y1; cout<<"利用牛顿迭代法求3x³-2x²-5=0在1附近的根"<<endl; x1=1,x0=0; //选取任意数(这里选了1)作为该方程的初始近似值,先定义x0=0是为了满足一开始进入循环条件 while(fabs(x1-x0)>1.0e-5) { x0=x1; //将上一轮的x1用到下一轮的计算之中 y0=3*x0*x0*x0-2*x0*x0-5; y1=9*x0*x0-4*x0; x1=x0-y0/y1; } cout<<x1<<endl; //这里输出x0,x1的结果没有影响,因为x0和x1的值十分接近 }