| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
谁能帮我看看这个程序错哪呢?谢谢了In Reply To:也是二分的,不知道哪里错了? Posted by:queyue2004 at 2005-07-27 18:06:09 > #include <iostream>
> #include <fstream>
> #include <cstdio>
> #include <cmath>
>
> using namespace std;
>
> int main ()
> {
> #ifndef ONLINE_JUDGE
> freopen ("Crossed ladders.txt","r",stdin);
> #endif
> double x,y,c;
> double max,min,mid,dis;
>
> x = y = c = 0.0;
> while (scanf ("%lf%lf%lf",&x,&y,&c) != EOF)
> {
> x = x * x;
> y = y * y;
> if ( x > y)
> {
> max = sqrt (y - c * c) + 0.00001;
> }
> else
> {
> max = sqrt (x - c * c) + 0.00001;
> }
> min = 0.0;
> while (true)
> {
> mid = (max + min) / 2.0;
> dis = (1.0 / sqrt (x - mid * mid) + 1.0 / sqrt ( y - mid * mid)) - 1.0 / c;
> if (fabs(dis) <= 0.000001)
> {
> printf ("%.3lf\n",mid);
> break;
> }
> else if (dis > 0)
> {
> max = mid;
> }
> else
> {
> min = mid;
> }
> }
> x = y = c = 0.0;
> }
>
> return 0;
> }
>
>
>
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator