CRUELL2 - Cô giáo dạy toán, phần II

Tác giả: hieult

Ngôn ngữ: C++

#include <stdio.h>
//#include <conio.h>
#include <math.h>
long n;
double a[13];
double f(double x)
{
double T=0;
for(long i=0;i<=n;i++)
  T=T+a[i]*pow(x,i);
return T;
}
main()
{
double u[100],v[100];
long tu=0,tv=0;      
scanf("%ld",&n);
for(long i=0;i<=n;i++)
  scanf("%lf",&a[i]);
if(a[n]>0)
  {  
  u[0]=-1000000;
  v[0]=1000000;
  }
else
  {  
  u[0]=1000000;
  v[0]=-1000000;
  } 
while(v[tv]-u[tu]>0.00001||v[tv]-u[tu]<-0.00001)
  {
  //printf("%.0lf ",u[tu]);
  if(f((v[tv]+u[tu])/2)>0)
    {
    tv++;
    v[tv]=(v[tv-1]+u[tu])/2;
    }
  else
    {
    tu++;
    u[tu]=(v[tv]+u[tu-1])/2;
    }
  }
printf("%ld",long(u[tu]*1000));
//getch();
}           

Download