本文实例讲述了Python实现简单求解给定整数的质因数算法。分享给大家供大家参考,具体如
本文实例讲述了Python实现简单求解给定整数的质因数算法。分享给大家供大家参考,具体如下:
接着做题遇到求解质因数分解的问题,思想很简单,就是需要遍历从1到该整数本身,并且判断当数字为质数时加入列表最后输出即可,求解这样的一个正整数的质因数分解,关键在于理解,每次得到一个质因数之后需要更新整数为:原始整数除以这个质因数的值,循环直至原始整数的值小于2终止,输出结果即可,实现如下:
#!usr/bin/env python
#encoding:utf-8
'''''
__Author__:沂水寒城
功能:求解整数的质因数分解
'''
num=int(raw_input())
def get_num_factors(num):
list0=[]
tmp=2
if num==tmp:
print num
else:
while (num>=tmp):
k=num%tmp
if( k == 0):
list0.append(str(tmp))
num=num/tmp #更新
else:
tmp=tmp+1 #同时更新除数值,不必每次都从头开始
print ' '.join(list0)+' '
结果如下:
90 2 3 3 5 180 2 2 3 3 5
PS:这里提供一款功能相似的在线工具供大家参考:
在线分解质因数计算器工具: http://tools.jb51.net/jisuanqi/factor_calc
Python 求解 给定整数 质因数 算法