题目14:将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。

本文探讨了如何使用Python递归方法分解正整数的质因数。通过示例解释了为何`for prime_factor in range(2, 2):`作为递归条件不会引发错误,因为range(2, 2)返回一个空迭代器,导致循环不执行直接结束。这是一个理解递归和空迭代器行为的例子。" 118851689,312817,C++深入理解osg::Geometry:顶点数据传输到GPU,"['图形编程', 'OpenGL', 'C++库', '3D渲染', '计算机图形学']
摘要由CSDN通过智能技术生成

递归学习笔记:https://blog.csdn.net/run_noob_vip/article/details/122991737

代码:

def prime_factorization(integer):
    """
    用递归算法得出参数的所有质因数,并打印出来
    :param integer: 输入的整数
    :return: 对商调用函数本身,递归结束条件:for prime_factor in range(2, 2):
    """
    # 递归算法:找出参数的最小质因数,并对商调用函数本身
    # 当出现“for prime_factor in range(2, 2):”时递归结束
    for prime_factor in range(2, integer):
        if integer % prime_factor == 0:
            prime_factor_list.append(prime_factor)
            integer = integer // prime_factor
            return prime_factorization(integer)
    prime_factor_list.append(integer)

    # 打印出质因数和等式
    if len(prime_factor_list) > 1:
        print(f'{positive_integer_input}的质因数有{prime_factor_list}')
       
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值