题目:银行贷款
//#pragma GCC optimize(2)
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
double t,p,m,ans;
double binaryl(double l,double r){
while(l<r-0.0001){
double mid=(l+r)/2;
double w=t;
for(int i=1;i<=m;++i)
w=w-p+w*(mid/100);
if(w>0.0001)r=mid;
else l=mid;
}
return l;
}
inline int read(){
int x=0,f=1;char ch=getchar();
while(!isdigit(ch)){
if(ch=='-')f=-1;
ch=getchar();
}
while(isdigit(ch)){
x=x*10+(ch^48);
ch=getchar();
}
return x*=f;
}
signed main(){
t=read();
p=read();
m=read();
ans=binaryl(0,3);
printf("%.1lf\n",round(ans*10)/10);
return 0;
}
还是找不出问题......万万没想到会被一道二分卡两个晚自习(悲
觉得精度二分这种东西应该秒切来着
这次的csp果然要赛前退役了罢