def is_new_record(order, degree): if degree > MAX_VALID_DEGREE: raise Exception for pk in pks: if pk + 1 > degree: break else: q = pk h = degree - (q + 1) return order > q ** 2 + q + 1 + h if __name__ == "__main__": for p in pyprimes.primes_below(MAX_P): for k in range(2, MAX_K): q = p ** k if q + 1 > MAX_VALID_DEGREE: break for n in range(2, 1000): print("check p:%d k:%d n:%d" % (p, k, n)) o, d = pair_int(n) if p == 2: new_o = (q ** 2 + q + 2) * o else: new_o = (q ** 2 + q + 1) * o new_d = (q + 1) * d if new_d < MAX_VALID_DEGREE and is_new_record(new_o, new_d): print(p, k, n)
import pyprimes from gbc_without_sage import pair_int rtv = [] for n in range(2, 1000): rtv.append((pair_int(n), n)) for p in pyprimes.primes_below(100): for k in range(2, 10): q = p**k rtv.append(((q**2 + q + 1, q + 1), (p, k))) rtv.sort() for pair in rtv: print(pair)