二分法 c++编程,求大神支招
1个回答
展开全部
#include <stdio.h>
#include <math.h>
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
using namespace std;
#define e 2.718281828
void f(double a,double b,int t)
{
double x=(a+b)/2;
double sum=0;
if(t>20)return ;
if(x<=0)
sum=512*x-1280*pow(x,8)+1120*pow(x,6)-400*pow(x,4)+50*pow(x,2)-1;
else sum=pow(e,x)+pow(2,-x)+2*cos(x)-5;
if(sum>=-pow(10,-6)&&sum<=pow(10,-6))
{
cout<<x<<endl;return ;
}
f(a,x,t+1);
f(x,b,t+1);
}
int main()
{
f(-1,2,0);
return 0;
}
#include <math.h>
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
using namespace std;
#define e 2.718281828
void f(double a,double b,int t)
{
double x=(a+b)/2;
double sum=0;
if(t>20)return ;
if(x<=0)
sum=512*x-1280*pow(x,8)+1120*pow(x,6)-400*pow(x,4)+50*pow(x,2)-1;
else sum=pow(e,x)+pow(2,-x)+2*cos(x)-5;
if(sum>=-pow(10,-6)&&sum<=pow(10,-6))
{
cout<<x<<endl;return ;
}
f(a,x,t+1);
f(x,b,t+1);
}
int main()
{
f(-1,2,0);
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询