def factor(n):
    """
    分解质因数，非递归解法

    :param n: 正整数
    :return 质因数列表
    """
    result = []
    while n > 1:
        for i in range(2, n + 1):
            if n % i == 0:
                n //= i
                result.append(i)
                break
    return result