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();
}