10341 - Solve It 三分 + 浮点型函数用法
来源:互联网 发布:linux环境变量设置生效 编辑:程序博客网 时间:2024/05/22 10:27
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cctype>
#include <cstdlib>
#include <cmath>
#include <stack>
#define M 1e-9
using namespace std;
int p,q,r,s,t,u;
double f(double x)
{
return p * exp(-x) + q * sin(x) + r * cos(x) + s * tan(x) + t * x * x + u;
}
void Judge()
{
double x = f(0),y = f(1);
if(x > 0 && y > 0 || x < 0 && y < 0){
printf("No solution\n");
return ;
}
if(x == 0){ printf("0.0000\n"); return;}
if(y == 0){ printf("1.0000\n"); return;}
double pre = x,rear = y,mid,midd;
x = 0; y = 1;
while(y-x >= M)
{
double m = x + (y-x)/2;
double mm = m + (y-m)/2;
mid = f(m);
midd = f(mm);
if((mid * rear) > 0){
y = m;
rear = mid;
}
else{
if( (midd * rear) > 0){
y = mm;
rear = midd;
}
else{
x = mm;
pre = midd;
}
}
}
printf("%.4lf\n",x);
}
int main()
{
// freopen("in.in","r",stdin);
while(scanf("%d%d%d%d%d%d",&p,&q,&r,&s,&t,&u) != EOF)
{
Judge();
}
return 0;
}
#include <cstring>
#include <algorithm>
#include <cctype>
#include <cstdlib>
#include <cmath>
#include <stack>
#define M 1e-9
using namespace std;
int p,q,r,s,t,u;
double f(double x)
{
return p * exp(-x) + q * sin(x) + r * cos(x) + s * tan(x) + t * x * x + u;
}
void Judge()
{
double x = f(0),y = f(1);
if(x > 0 && y > 0 || x < 0 && y < 0){
printf("No solution\n");
return ;
}
if(x == 0){ printf("0.0000\n"); return;}
if(y == 0){ printf("1.0000\n"); return;}
double pre = x,rear = y,mid,midd;
x = 0; y = 1;
while(y-x >= M)
{
double m = x + (y-x)/2;
double mm = m + (y-m)/2;
mid = f(m);
midd = f(mm);
if((mid * rear) > 0){
y = m;
rear = mid;
}
else{
if( (midd * rear) > 0){
y = mm;
rear = midd;
}
else{
x = mm;
pre = midd;
}
}
}
printf("%.4lf\n",x);
}
int main()
{
// freopen("in.in","r",stdin);
while(scanf("%d%d%d%d%d%d",&p,&q,&r,&s,&t,&u) != EOF)
{
Judge();
}
return 0;
}
- 10341 - Solve It 三分 + 浮点型函数用法
- 10341 - Solve It
- UVa 10341-Solve It
- UVa 10341 - Solve It
- uva 10341 - Solve It
- uva 10341 - Solve It
- UVA - 10341 Solve It
- POJ 10341 - Solve It
- 10341 - Solve It
- UVa 10341 - Solve It
- UVA 10341 - Solve It
- 10341 - Solve It
- Uva 10341 Solve It
- UVa:10341 Solve It
- UVA 10341 Solve It
- UVa 10341 Solve It
- uva 10341 Solve It
- 10341 - Solve It
- Linux中__init、__devinit等初始化宏
- 链栈的多进制应用
- android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an appli
- vc6.0添加ws2_32.lib文件的问题
- ajax 控件简述
- 10341 - Solve It 三分 + 浮点型函数用法
- STL容器的erase用法
- sizeof详解 - 很好的sizeof资料 A
- 投资意向书
- 抽象类和接口的最佳实践
- sizeof详解 - 很好的sizeof资料 B
- sizeof详解 - 很好的sizeof资料 C
- java serilization
- NOI 2009 变换序列