HJ6 质数因子
描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )
数据范围: 1≤n≤2×109+14 1≤n≤2×109+14
输入描述: 输入一个整数
输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。
示例1
输入: 180
输出: 2 2 3 3 5
代码:
def extractFactors(input_int,factor_arr):
is_factor = True
for i in range(2,input_int):
if(input_int%i == 0):
extractFactors(i,factor_arr)
extractFactors(int(input_int/i),factor_arr)
is_factor = False
break
if(i*i > input_int): break
if(is_factor): factor_arr.append(input_int)
input_int = int(input())
factor_arr = []
extractFactors(input_int,factor_arr)
factor_arr.sort()
output_str = str(factor_arr).replace(",","").replace("[","").replace("]","")
print(output_str)