예제 #1
0
def main():
    D = 1000000
    count = 0

    for d in range(2, D + 1):
        count = count + euler.totient(d)

    print(count)
예제 #2
0
def main():
    N = 1000000
    max_ratio = 0
    max_n = 0

    for n in range(2, N + 1):
        ratio = n / euler.totient(n)
        if ratio > max_ratio:
            max_ratio = ratio
            max_n = n

    print(max_n)
예제 #3
0
def main():
    N = 10000000
    min_ratio = N
    min_n = 2

    for n in range(2, N):
        t = euler.totient(n)
        if euler.is_permutation(n, t):
            ratio = n / t
            if ratio < min_ratio:
                min_ratio = ratio
                min_n = n

    print(min_n)
예제 #4
0
from euler import totient

print sum(totient(d) for d in xrange(2, 1000000+1))
예제 #5
0
import sys
sys.path.append("..")
from euler import factorize, totient

upper = int(1e6)
factorizations = factorize(upper=upper)
phi = totient(upper, factorizations)
ratio = [(n, n/p) for n, p in phi.items()]
print(max(ratio, key=lambda x: x[1])[0])
예제 #6
0
def euler():
    print(sum(totient(i) for i in range(2, 1000000 + 1)))
예제 #7
0
from euler import totient

print sum(totient(d) for d in xrange(2, 1000000 + 1))
예제 #8
0
def hyper(a, b, c):
    if b == 1:
        return a % c
    if c == 2:
        return a % 2
    return pow(a, (hyper(a, b - 1, euler.totient(c, PRIME_LIST))), c)
예제 #9
0
def euler():
    print(sum(totient(i) for i in range(2, 1000000+1)))
예제 #10
0
def resilience(n):
    return euler.totient(n, PRIME_LIST) / (n - 1)