from math import sqrt


def is_square_free(n: int) -> bool:
    """
    https://en.wikipedia.org/wiki/Square-free_integer

    >>> is_square_free(1)
    True
    >>> is_square_free(4)
    False
    >>> is_square_free(46)
    True
    """
    for i in range(2, round(sqrt(n)) + 1):
        if n % (i**2) == 0:
            return False
    return True