洛谷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;
}

浙公网安备 33010602011771号