Bootstrap

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

目录

题目描述

解决思路

代码

代码走读

传送门

测试用例

1. 输入正整数

2. 输入负整数


题目描述

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

输入/输出描述

输入描述

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

输出描述

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

解决思路

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

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

2、输入的数字是合数:

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

代码



def find_factors(number):
    """
    Print prime factors.
    :param number: <int> number
    :return: <None>
;