素数分解是将一个正整数表示为若干个素数的乘积的过程。以下是一个Python函数,用于打印任意数的素数分解:
def prime_factors(n):
factors = []
# 处理2的因子
while n % 2 == 0:
factors.append(2)
n = n // 2
# 处理其他奇数因子
for i in range(3, int(n**0.5) + 1, 2):
while n % i == 0:
factors.append(i)
n = n // i
# 如果n是一个大于2的素数
if n > 2:
factors.append(n)
return factors
# 示例
num = int(input("请输入一个正整数: "))
factors = prime_factors(num)
print(f"{num} 的素数分解为: {' * '.join(map(str, factors))}")
def prime_factors(n):
if n <= 0:
raise ValueError("输入必须是正整数")
factors = []
# 处理2的因子
while n % 2 == 0:
factors.append(2)
n = n // 2
# 处理其他奇数因子
for i in range(3, int(n**0.5) + 1, 2):
while n % i == 0:
factors.append(i)
n = n // i
# 如果n是一个大于2的素数
if n > 2:
factors.append(n)
return factors
# 示例
try:
num = int(input("请输入一个正整数: "))
factors = prime_factors(num)
print(f"{num} 的素数分解为: {' * '.join(map(str, factors))}")
except ValueError as e:
print(e)
通过这个函数,你可以轻松地打印任意正整数的素数分解结果。
领取专属 10元无门槛券
手把手带您无忧上云