Lang:GCC
Edit1234567891011121314151617181920212223242526#include<stdio.h>#include<math.h>int a,b,c,px,py;double d(double x){double d;d=sqrt(pow((x-px),2)+pow((a*x*x+b*x+c-py),2));return d;}int main(){double left,right,mid1,mid2,temp;scanf("%d %d %d %d %d",&a,&b,&c,&px,&py);left=-200;right=200;while(1){temp=(right-left)/3;mid1=left+temp;mid2=(left+2*temp);if(d(mid1)<=d(mid2))right=mid2;elseleft=mid1;if((right-left)<0.001)break;}printf("%.3lf\n",d(mid1));return 0;}