社区讨论

80分求调,最后一个测试点超时

P1163银行贷款参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mkouu1os
此快照首次捕获于
2026/01/22 10:50
上个月
此快照最后确认于
2026/01/22 20:00
上个月
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
double w0,w,n;
double f(double x){
    return (x*pow(1+x,n)*w0)/(pow(1+x,n)-1);
}
double bisearch(double l,double r){
    for(int i=1;i<=100;i++){
        double mid=(l+r)/2;
        if(abs(f(mid)-w)<1e-6){
            return mid;
        }
        else if(f(mid)>w){
            r=mid-0.001;
        }
        else if(f(mid)<w){
            l=mid+0.001;
        }
    }
}
int main(){
    scanf("%lf%lf%lf",&w0,&w,&n);
    double r0=bisearch(0.0001,3)*100;
    printf("%.1lf",r0);
}

回复

0 条回复,欢迎继续交流。

正在加载回复...