たいぶんほう
523 ワード
対分法は方程式を解く比較的速い方法であり,まず境界を決定し,次に中間ノードとターゲットの大きさ関係を判断し,等しくなければ境界を縮小し,再び中間ノードを等しくするまでとる.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;
}