华为机试HJ6质数因子
题目:
按照从小到大输出给定数值的质数因子
想法:
遍历判断从小到大的数值是否是给定数值的质数因子,是就直接输出,该方法输出的数值已经排序好了
import mathinput_number = int(input())# 循环判断提取所有是2的质数因子
while input_number % 2 == 0:input_number = input_number // 2print(2, end=" ")# 判断从3开始的奇数是否是质数因子
for i in range(3, int(math.sqrt(input_number))+1, 2):while input_number % i == 0:print(i, end=" ")input_number = input_number // iif input_number > 2:print(input_number)