目录
题目描述
输入一个正整数,返回该整数的质数因子。质数因子从小到大排列在一行,以空格隔开每一个质数因子(最后一个数字后面也要包含空格)。
输入/输出描述
输入描述
输入一个正整数。例如:180
输出描述
输出正整数的质数因子,质数因子从小到大排序。例如:2 2 3 3 5
解决思路
合理的输入整数分两种场景:
1、输入的数字本身就是质数。那么输出结果只有该数字本身。
2、输入的数字是合数:
从2开始遍历,如果遍历到的数字是质数,且该数字是输入整数的因数,则该数字符合要求输出。否则继续遍历查询。找到质数因子后,整数除以质数因子,递归查找,直至本身不断的除以找到的质数因子变成质数结束递归。
代码
def find_factors(number):
"""
Print prime factors.
:param number: <int> number
:return: <None>