Python实现简单求解给定整数的质因数算法示例

yipeiwu_com5年前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相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

NumPy 数学函数及代数运算的实现代码

一、实验介绍 1.1 实验内容 如果你使用 Python 语言进行科学计算,那么一定会接触到NumPy。NumPy 是支持 Python 语言的数值计算扩充库,其拥有强大的多维数组处...

Opencv+Python实现图像运动模糊和高斯模糊的示例

Opencv+Python实现图像运动模糊和高斯模糊的示例

运动模糊:由于相机和物体之间的相对运动造成的模糊,又称为动态模糊 Opencv+Python实现运动模糊,主要用到的函数是cv2.filter2D(): # coding: utf-...

浅谈python中scipy.misc.logsumexp函数的运用场景

scipy.misc.logsumexp函数的输入参数有(a, axis=None, b=None, keepdims=False, return_sign=False),具体配置可参见...

Python字符串详细介绍

简介 字符串序列用于表示和存储文本,python中字符串是不可变的,一旦声明,不能改变 通常由单引号(' ),双引号(" ),三引号(''' """)包围 其中三引号可以由多行组成,编写...

对python中xlsx,csv以及json文件的相互转化方法详解

最近需要各种转格式,这里对相关代码作一个记录,方便日后查询。 xlsx文件转csv文件 import xlrd import csv def xlsx_to_csv(): wo...