#include<bits/stdc++.h>
using namespace std;
const int N = 23333333;
double num = 11625907.5798;
double E = 1e-4;
int ans;
int main()
{
int l = 1, r = N / 2;
while (l <= r)
{
int mid = (l + r) >> 1;
int y = N - mid;
double s = -1.0 * y * y / N * log2(1.0 * y / N) - 1.0 * mid * mid / N * log2(1.0 * mid / N);
if (abs(s - num) <= E)
{
cout << mid;
break;
}
else
{
if (s > num) r--;
else if (s < num) l++;
}
}
return 0;
}
0 回复
0 转发
0 喜欢
3 阅读



