原问题:
解题思路:把2^t设为x,要求x是整数,枚举x即可
代码:
void solve() {
ll i, j,k,x,y,z,p,q,u,v;
ll N = 1000000,NN=6000000;
k = 2;
u = 0;
v = 0;
double a, b;
a = 1.0 / 12345.0;
for (i = 2; i <= N; i++) {
v++;
if (i == k) {
u++;
k = k * 2;
}
b = (double)u / (double)v;
printf("%lld %lld %lld %.12lf\n", i * i - i, u, v, b);
if (b < a) {
break;
}
}
printf("%.10lf", a);
printf("%lld\n",ans1);
}