python题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
作者:野牛程序员:2024-11-07 16:42:17python阅读 2109
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