コード例 #1
0
ファイル: search.py プロジェクト: yawara/gbc
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)
コード例 #2
0
ファイル: print_order_degree.py プロジェクト: yawara/gbc
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)