基础二分,没什么可说的
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define char _bool
double fans;
double cal(double x){
double ans = 0;
for(int i = 1; i <= 4; i++){
ans += 510/pow(1+x,i);
}
return ans;
}
void erfen(double l,double r){
if(l+1e-8 >= r)
return ;
double m = (l + r)/2;
double t = cal(m);
if(fabs(t - 2000)<1e-3){
fans = m;
return ;
}
if(t < 2000)
erfen(l,m);
else erfen(m,r);
}
int main(){
int n;
fans = -1;
printf("%lf\n",cal(0.00797));
erfen(0,1);
printf("%lf\n",fans);
return 0;
}
#include <stdlib.h>
#include <math.h>
#define char _bool
double fans;
double cal(double x){
double ans = 0;
for(int i = 1; i <= 4; i++){
ans += 510/pow(1+x,i);
}
return ans;
}
void erfen(double l,double r){
if(l+1e-8 >= r)
return ;
double m = (l + r)/2;
double t = cal(m);
if(fabs(t - 2000)<1e-3){
fans = m;
return ;
}
if(t < 2000)
erfen(l,m);
else erfen(m,r);
}
int main(){
int n;
fans = -1;
printf("%lf\n",cal(0.00797));
erfen(0,1);
printf("%lf\n",fans);
return 0;
}