newton.cpp

来自「牛顿 拉格朗日 分段线性」· C++ 代码 · 共 41 行

CPP
41
字号
#include <iostream.h>
#include "math.h"
double f(double x)
{
	return x*exp(x)-1;
}
double ff(double x)
{
	return x*exp(x)+exp(x);
}
void main()
{
	double x0,x1,c; 
	int n,k;
	cin>>x0>>c>>n;
	int flag=0;
	for(k=1;k<=n;k++)
	{
		if(ff(x0)==0)
		{
			cout<<"error!"<<endl;
			break;
		}
		else
		{
		    x1=x0-f(x0)/ff(x0);
            	
		    if(fabs(x1-x0)<c)
			{
			    cout<<"x1="<<x1<<endl;
			    flag=1;
			    break;

			}
			x0=x1;
		}
	}	
	if(k==n+1&&flag==0) cout<<"fault!"<<endl;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?