# 判断一个数是否为质数
def is_prime(n):
if n <= 1:
return False
else:
for i in range(2, int(pow(n, 0.5)+1)):
if n % i == 0:
return False # 如果找到了一个除数,则n不是质数
return True
# 对合数进行分解
def prime_factorization(n):
i = 2 # 从最小的质数2开始尝试
factors = [] # 用于存储所有质因数的列表
while pow(i, 2) <= n:
if n % i == 0:
n = n // 2
factors.append(i)
else:
i += 1
if n > 1:
factors.append(n)
return factors
if __name__ == '__main__':
n = int(input('请输入数字:'))
if is_prime(n):
print(f"{n},质数。") # 如果是质数,直接打印结果
else:
factors = prime_factorization(n=n)
factors_str = '*'.join(map(str, factors))
print(f"{n},合数,{n}={factors_str};") # 打印合数及其质因数分解结果