📜  以指数形式简化 252-6(1)

📅  最后修改于: 2023-12-03 15:22:04.276000             🧑  作者: Mango

简化指数形式的整数

本程序接受一个整数作为输入,将其简化为指数形式。

输入格式

整数252,用减法减去6。

输出格式

以指数形式表示简化后的整数。

示例

输入:

252-6

输出:

2^2 * 3^2 * 7
代码
def simplify_integer(s: str) -> str:
    a, b = s.split("-")
    n = int(a) - int(b)
    factors = []

    i = 2
    while i * i <= n:
        cnt = 0
        while n % i == 0:
            cnt += 1
            n //= i
        if cnt > 0:
            factors.append(f"{i}^{cnt}")
        i += 1

    if n > 1:
        factors.append(str(n))

    return " * ".join(factors)

print(simplify_integer("252-6"))