blob: 08f5c495c2b6686ba12c3e20d8b26c7a2cb97648 [file] [log] [blame] [edit]
import sys
from math import floor
def log2(x):
"""returns ceil(log2(x)))"""
y = 0
while (1 << y) < x:
y = y + 1
return y
for q in range(1, 17 + 1):
d = 5 ** q
b = 127 + log2(d)
t = 2 ** b
c = t // d + 1
assert c < 2 ** 128
assert c >= 2 ** 127
K = 2 ** 127
if not (c * K * d <= (K + 1) * t):
print(q)
top = floor(t / (c * d - t))
sys.exit(-1)
for q in range(18, 344 + 1):
d = 5 ** q
b = 64 + 2 * log2(d)
t = 2 ** b
c = t // d + 1
assert c > 2 ** (64 + log2(d))
K = 2 ** 64
if not (c * K * d <= (K + 1) * t):
print(q)
top = floor(t / (c * d - t))
sys.exit(-1)
print("all good")