예제 #1
0
def mobius(n):
    if n == 1:
        return 1
    k = 0
    for p, e in factor(n):
        if e > 1:
            return 0
        k += 1
    return (-1) ** int(k % 2 == 1)
예제 #2
0
def pisano(m):
    pi = 1
    for p, e in nt.factor(m):
        pi = lcm(pi, _pisano(p)*p**(e-1))
    return pi