Spaces:
Sleeping
Sleeping
from hypothesis import given | |
from hypothesis import strategies as st | |
from sympy import divisors | |
from sympy.functions.combinatorial.numbers import divisor_sigma, totient | |
from sympy.ntheory.primetest import is_square | |
def test_tau_hypothesis(n): | |
div = divisors(n) | |
tau_n = len(div) | |
assert is_square(n) == (tau_n % 2 == 1) | |
sigmas = [divisor_sigma(i) for i in div] | |
totients = [totient(n // i) for i in div] | |
mul = [a * b for a, b in zip(sigmas, totients)] | |
assert n * tau_n == sum(mul) | |
def test_totient_hypothesis(n): | |
assert totient(n) <= n | |
div = divisors(n) | |
totients = [totient(i) for i in div] | |
assert n == sum(totients) | |