python
def prime_factors(n):
factors = []
divisor = 2
while n >= divisor:
while n % divisor == 0:
factors.append(divisor)
n //= divisor
divisor += 1
return factors
def main():
number = int(input("請輸入一個正整數: "))
factors = prime_factors(number)
print(" * ".join(map(str, factors)))
if __name__ == "__main__":
main()
說明
prime_factors函數:
使用一個 while 迴圈來遍歷可能的質因子,從2開始。
當 n 可以被當前的質因子整除時,將該質因子加入 factors 列表,並將 n 除以該質因子。
不斷增加質因子值,直到 n 被完全分解。
main函數:
提示用戶輸入一個正整數。
調用 prime_factors 函數來獲取所有的質因子,並將它們以 * 分隔的形式輸出。