洛谷P1163

P1163 银行贷款

浮点二分

点击查看代码
#include<bits/stdc++.h>
using namespace std;
using ll = long long;

int main() {
    double n, m, k;
    cin >> n >> m >> k;
    double left = 0.0, right = 3.0;
    while (right - left > 1e-7) {
        double mid = (left + right) / 2;
        double sum = 0.0;
        for (int i = 1; i <= k; ++i) {
            sum += m / pow(1 + mid, i);
        }
        if (sum > n)
            left = mid;
        else
            right = mid;
    }
    cout << fixed << setprecision(1) << right * 100 << endl;
    return 0;
    return 0;
}
posted @ 2025-05-19 12:56  Chuan81  阅读(22)  评论(0)    收藏  举报