c++用二分法解方程描述用二分法求下面方程在(-10, 10)之间的一个根. 2x3- 4x2+ 3x- 6 = 0输入一个小于1的非负实数e,它的值表示所能允许的误差输出一个实数,其值为求得的一个根,要求精确到小数
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 15:14:30
c++用二分法解方程描述用二分法求下面方程在(-10, 10)之间的一个根. 2x3- 4x2+ 3x- 6 = 0输入一个小于1的非负实数e,它的值表示所能允许的误差输出一个实数,其值为求得的一个根,要求精确到小数
c++用二分法解方程
描述
用二分法求下面方程在(-10, 10)之间的一个根. 2x3- 4x2+ 3x- 6 = 0
输入
一个小于1的非负实数e,它的值表示所能允许的误差
输出
一个实数,其值为求得的一个根,要求精确到小数点后8位.
#includeusing namespace std;double fun(double x){ return 2*x*x*x-4*x*x+3*x-6;}double judge(double e,double a,double b){ if(b-a
c++用二分法解方程描述用二分法求下面方程在(-10, 10)之间的一个根. 2x3- 4x2+ 3x- 6 = 0输入一个小于1的非负实数e,它的值表示所能允许的误差输出一个实数,其值为求得的一个根,要求精确到小数
提示什么错误?答案不对?
#include<iostream>
using namespace std;
double fun(double x){
\x05return 2*x*x*x-4*x*x+3*x-6;
}
double judge(double e,double a,double b){
\x05if(b-a<=e)
\x05\x05return (a+b)/2;
\x05else
\x05{
\x05if(fun((a+b)/2)==0)
\x05\x05return (a+b)/2;
\x05else if(fun(a)*fun((a+b)/2)<0)
\x05\x05return judge(e,a,(a+b)/2);
\x05else
\x05\x05return judge(e,(a+b)/2,b);
}
}
int main()
{
\x05double e;
\x05cin>>e;
\x05cout<<judge(e,-10,10)<<endl;
\x05return 0;
}
能运行