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

yipeiwu_com6年前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程序设计有所帮助。

相关文章

python中文分词教程之前向最大正向匹配算法详解

前言 大家都知道,英文的分词由于单词间是以空格进行分隔的,所以分词要相对的容易些,而中文就不同了,中文中一个句子的分隔就是以字为单位的了,而所谓的正向最大匹配和逆向最大匹配便是一种分词匹...

Python双向循环链表实现方法分析

本文实例讲述了Python双向循环链表实现方法。分享给大家供大家参考,具体如下: 最近身边的朋友在研究用python来实现数据结构。遇到一个问题就是双向循环链表的实现,改指向的时候总是发...

Python中pygal绘制雷达图代码分享

Python中pygal绘制雷达图代码分享

pygal的安装和简介,大家可以参阅《pip和pygal的安装实例教程》,下面看看通过pygal实现绘制雷达图代码示例。 雷达图(Radar): import pygal rada...

python实现自动发送邮件

自动发送邮件功能是我们经常要用到的,比如每天定时统计报表信息,然后自动发送给运营人员,协助运营人员进行业务数据分析。本文是用Python写的一个自动发送邮件的脚本,调用函数时,直接把发件...

基于python脚本实现软件的注册功能(机器码+注册码机制)

一、前言: 目的:完成已有python图像处理工具的注册功能 功能:用户运行程序后,通过文件自动检测认证状态,如果未经认证,就需要注册。注册过程是用户将程序运行后显示的机器码(C盘的卷序...