样例得到3.0求助
查看原帖
样例得到3.0求助
319478
zhibuba楼主2020/7/19 13:19
#include <iostream>
#include <cstdio>

using namespace std;

int S, a, n;

bool test(double p)
{
    int T = S;
    for (int i = 1; i <= n; i++)
    {
        T += p * T;
        T -= a; 
    }
    return T <= 0;
}

int main()
{
    cin >> S >> a >> n;
    double left = 0, right = 3;
    while (right - left > 1e-4)
    {
        double mid = (left + right) / 2.0;
        if (test(mid))
            left = mid;
        else
            right = mid;
    }
    printf("%.1f", left * 100);
    return 0;
}
2020/7/19 13:19
加载中...