当前位置:首页python > 正文

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()

说明:

  1. prime_factors(n) 函数将整数 n 分解成质因数,并返回一个包含所有质因数的列表。

  2. 程序首先处理 2 的质因数,然后从 3 开始检查所有奇数是否为因数。

  3. 最后,如果剩下的 n 是大于 2 的质数,直接将其加入因数列表。

  4. main() 函数用于获取用户输入并输出结果,按照指定格式打印质因数分解式。

示例:

输入 90,输出:

90=2*3*3*5


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • python
  • 最新推荐

    热门点击