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

yipeiwu_com7年前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二叉树遍历的实现方法

复制代码 代码如下:#!/usr/bin/python# -*- coding: utf-8 -*- class TreeNode(object):   ...

numpy concatenate数组拼接方法示例介绍

数组拼接方法一 思路:首先将数组转成列表,然后利用列表的拼接函数append()、extend()等进行拼接处理,最后将列表转成数组。 示例1: >>> impor...

解决python3中cv2读取中文路径的问题

如下所示: python3: img_path =  ' ' im = cv2.imdecode(np.fromfile(img_path,dtype = np.uin...

使用NumPy读取MNIST数据的实现代码示例

使用NumPy读取MNIST数据的实现代码示例

NumPy 什么是NumPy NumPy是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。主页为https://numpy.o...

简单介绍Python中的JSON使用

JSON进阶 Python的dict对象可以直接序列化为JSON的{},不过,很多时候,我们更喜欢用class表示对象,比如定义Student类,然后序列化: import json...