描述
用二分法求下面方程在(-10,10)(−10,10)之间的根:
2x^3-4x^2+3x - 6 = 02x
3
−4x
2
+3x−6=0
输入
没有输入
输出
输出方程在(-10,10)(−10,10)之间的根,结果精确到小数点后2位,如果有多个根,根之间请用空格隔开。
输入样例 1
无
输出样例 1
无
这个题目已经要求要使用二分法计算出结果,所以我们使用二分法即可即可,函数在(-10,10)只有2一个答案注意格式要求的保留两位即可
#include <iostream>
#include <stdio.h>
using namespace std;
float opreate(float x);
void judge(float x,float y);
void judge(float x,float y)
{
float a;
a=(x+y)/2;
if(opreate(x)==0)
printf("%.2f",x);
else if(opreate(y)==0)
printf("%.2f",y);
else if(opreate(a)==0)
printf("%.2f",a);
else
{
if(opreate(a)*opreate(x)<0)
judge(x,a);
else
judge(a,y);
}
}
int main()
{
judge(-10,10);
return 0;
}
float opreate(float x)
{
return 2*x*x*x-4*x*x+3*x-6;
}