python题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
作者:野牛程序员:2024-11-07 16:42:17python阅读 2657
python题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
python题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
可以通过编写一个简单的 Python 程序来分解正整数的质因数。以下是一个实现该功能的示例代码:
def prime_factors(n):
factors = []
# 先处理2的质因数
while n % 2 == 0:
factors.append(2)
n //= 2
# 处理奇数的质因数
divisor = 3
while divisor * divisor <= n:
while n % divisor == 0:
factors.append(divisor)
n //= divisor
divisor += 2
# 如果剩余的是一个大于2的质数
if n > 2:
factors.append(n)
return factors
def main():
num = int(input("请输入一个正整数: "))
factors = prime_factors(num)
result = f"{num}=" + "*".join(map(str, factors))
print(result)
if __name__ == "__main__":
main()说明:
prime_factors(n)函数将整数n分解成质因数,并返回一个包含所有质因数的列表。程序首先处理 2 的质因数,然后从 3 开始检查所有奇数是否为因数。
最后,如果剩下的
n是大于 2 的质数,直接将其加入因数列表。main()函数用于获取用户输入并输出结果,按照指定格式打印质因数分解式。
示例:
输入 90,输出:
90=2*3*3*5
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

