たいぶんほう


対分法は方程式を解く比較的速い方法であり,まず境界を決定し,次に中間ノードとターゲットの大きさ関係を判断し,等しくなければ境界を縮小し,再び中間ノードを等しくするまでとる.c++コードは以下の通りである:(コード中は方程式x*x*x-2*x*x-4*x-7のルートを求める)
#include

using namespace std;

float f(float x){
	return x*x*x - 2 * x*x - 4 * x - 7;
}

int main(){
	float a, b, eps = 1e-5, c;
	scanf("%f %f", &a, &b);
	while ((b - a)>0.00001){
		c = (a + b) / 2;
		if (f(c) == 0) break;
		else if (f(c)>0) b = c;
		else a = c;
	}
	printf("roor=%f/n", c);
	return 0;
}