Beispiel #1
0
def main():
    counter = 0
    for d in range(5, 12001):
        for n in find_range(d):
            if gcd(n, d) == 1:
                counter += 1
    print(counter)
Beispiel #2
0
 def __init_gcd(self, m):
     for a in range(1, m + 1):
         self.gcd[(a, a)] = a
         for b in range(a + 1, m + 1):
             g = gcd(a, b)
             self.gcd[(a, b)] = g
             self.gcd[(b, a)] = g
Beispiel #3
0
def main():
    result = 0
    limit = 1500000
    cache = {i: 0 for i in range(0, limit + 1)}
    for m in range(2, trunc(sqrt(limit)) + 1):
        for n in range(1, m):
            if (n + m) % 2 == 1 and gcd(n, m) == 1:
                a = m * m + n * n
                b = m * m - n * n
                c = 2 * m * n
                pa = a + b + c
                while pa <= limit:
                    cache[pa] += 1
                    if cache[pa] == 1:
                        result += 1
                    if cache[pa] == 2:
                        result -= 1
                    pa += a + b + c
    return result
Beispiel #4
0
def main():
    result = 0
    limit = 1500000
    cache = {i: 0 for i in range(0, limit + 1)}
    for m in range(2, trunc(sqrt(limit)) + 1):
        for n in range(1, m):
            if (n + m) % 2 == 1 and gcd(n, m) == 1:
                a = m * m + n * n
                b = m * m - n * n
                c = 2 * m * n
                pa = a + b + c
                while pa <= limit:
                    cache[pa] += 1
                    if cache[pa] == 1:
                        result += 1
                    if cache[pa] == 2:
                        result -= 1
                    pa += a + b + c
    return result