hdu-2199 Can you solve this equation?
二分法 :
#include<stdio.h>
#include<string.h>
#include<math.h>
int main(){
int i,j,k,t;
int T;
double mod,temp_one,temp_two,last,number;
scanf("%d",&T);
while(T--){
scanf("%lf",&number);
temp_one=8*pow(100.0,4)+7*pow(100.0,3)+2*pow(100.0,2)+3*100.0+6;
temp_two=8*pow(0,4)+7*pow(0,3)+2*pow(0,2)+3*0+6;
if(temp_one<number||number<temp_two)
{
//printf("%.0lf %.0lf\n",temp_one,number);
printf("No solution!\n");
}
else {
mod=0;
last=100;
while(last-mod>1e-6){
temp_two=(mod+last)/2;
temp_one=8*pow(temp_two,4)+7*pow(temp_two,3)+2*pow(temp_two,2)+temp_two*3+6;
if(temp_one>number)
last=temp_two;
else
mod=temp_two;
// printf("%.4lf\n",temp_two);
}
printf("%.4lf\n",temp_two);
}
}
return 0;
}

浙公网安备 33010602011771号