Fancy Mouse
- -|||
先用不定积分求出那个v=t2的,s=t3/3。然后列一个方程求根了。三次方程有求根公式,但是偶还米学到,所以就用二分叠代来求这个根了~
#include<iostream>
#include
<iomanip>
using namespace std;

double f(double a,double k,double x);
int main()
{
    
double min,max,a,b,t,i;
    
while(cin>>a>>b)
    
{
        min 
= 0.0;
        max 
= 1e+10;
        
while(max - min > 1e-5)
        
{
            i 
= (max+min) / 2.0;
            t 
= f(a,b,i);
            
if(t - 1e-100 > 0)
                max 
= i;
            
else if(t + 1e-100 < 0)
                min 
= i;
            
else
                min 
= max = i;
        }

        cout
<<setiosflags(ios::fixed)<<setprecision(4)<<min<<endl;
    }

    
return 0;
}

double f(double a,double k,double x)
{return ((x-k)*(x-k)*(x-k)/3.0 - a*x*x/2.0);}
posted on 2005-10-22 02:44  Fancy Mouse  阅读(327)  评论(1编辑  收藏  举报