质数因子(Python,华为机试)

博客介绍了如何使用Python处理华为机试中关于质数因子的问题。对于输入的正整数,程序找出并按顺序输出其质数因子;而对于负整数,程序不作输出。解题思路涉及质数判断和因数分解,通过递归查找质数因子直到整数变为质数。文章提供了解决方案的代码及走读,并链接了相关函数的CSDN博客资源。
摘要由CSDN通过智能技术生成

目录

题目描述

解决思路

代码

代码走读

传送门

测试用例

1. 输入正整数

2. 输入负整数


题目描述

输入一个正整数,返回该整数的质数因子。质数因子从小到大排列在一行,以空格隔开每一个质数因子(最后一个数字后面也要包含空格)。

输入/输出描述

输入描述

输入一个正整数。例如:180

输出描述

输出正整数的质数因子,质数因子从小到大排序。例如:2 2 3 3 5

解决思路

合理的输入整数分两种场景:

1、输入的数字本身就是质数。那么输出结果只有该数字本身。

2、输入的数字是合数:

      从2开始遍历,如果遍历到的数字是质数,且该数字是输入整数的因数,则该数字符合要求输出。否则继续遍历查询。找到质数因子后,整数除以质数因子,递归查找,直至本身不断的除以找到的质数因子变成质数结束递归。

代码



def find_factors(number):
    """
    Print prime factors.
    :param number: <int> number
    :return: <None>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值