import math


def divisors(n: int) -> list[int]:
    """Find all positive integer divisors of a given positive integer.

    Parameters
    ----------
    n : int
        Number whose divisors are to be found.

    Returns
    -------
    list[int]
        List of divisors of :math:`n`.
    """
    if n == 1:
        return [1]

    d = [1, n]

    sqrt = math.ceil(math.sqrt(n))

    for k in range(2, sqrt):
        if n % k == 0:
            d.extend([k, n // k])

    if n == sqrt ** 2 and sqrt not in d:
        d.append(sqrt)

    return sorted(d)