?? 二分法.cpp
字號:
//*************************************
//程序功能:二分法 求線性方程的解
//作 者:杭永東
//日 期: 2002.03.25
//*************************************
#include <math.h>
#include <iostream.h>
#include <stdio.h>
//*************************************
// 注:更改此宏定義的表達式可以解不同的線性方程
// 根據宏定義要求,x必須以(x)形式出現大式中
//*************************************
#define f(x) 676039.0L*pow((x),12.0L)-1939938.0L*pow((x),10.0L)+\
2078505.0L*pow((x),8.0L)-1021020.0L*pow((x),6.0L)+\
225225.0L*pow((x),4.0L)-18018.0L*pow((x),2.0L)+231.0L
int NoAnswer(long double a,long double b)
{
if(((f(a))*(f(b)))>0.0L)
{
cout<<"There isn't answer between "<<a<<" and "<<b;
return 1;
}
else
return 0;
}
main()
{
long double a,b,e,x;
int n;
cout<<"Please input a,b,e:";
cin>>a>>b>>e;
// if(NoAnswer(a,b))
// return;
for(x=(0.5L)*(a+b),n=0;f(x)!=0.0L;x=(0.5L)*(a+b),n++)
{
printf("\n%0.9f",x);
if((f(a))*(f(x))<0.0L)
b=x;
else
a=x;
if((((b-a)<0.0L)? (a-b): (b-a))<e)
break;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -