Python实现的质因式分解算法示例


Posted in Python onMay 03, 2018

本文实例讲述了Python实现的质因式分解算法。分享给大家供大家参考,具体如下:

本来想实现一个其它的基本数学算法问题,但是发现在实现之前必须得先完成分解质因式的算法。

没有去网上寻找什么比较好的求解算法,纯粹是按照自己的理解写了一个试探性求解算法。也就是在MIT公开课中教授提到的guess-try方法。代码实现如下:

#!/usr/bin/python
def PrimeNum(num):
   r_value =[]
   for i inrange(2,num+1):
      for jin range(2,i):
         ifi % j == 0:
            break
      else:
         r_value.append(i)
   returnr_value
def PrimeFactorSolve(num,prime_list):
   for n inprime_list:
      ifnum % n == 0:
         return[n,num / n]
def PrimeDivisor(num):
   prime_range= PrimeNum(num)
   ret_vale =[]
   while numnot in prime_range:
      factor_list= PrimeFactorSolve(num,prime_range)
      ret_vale.append(factor_list[0])
      num =factor_list[1]
   else:
      ret_vale.append(num)
   printret_vale
PrimeDivisor(120)

程序执行结果如下:

E:\WorkSpace\01_编程语言\03_Python\python_exp07>pythonpython_exp07.py
[2, 2, 2, 3, 5]

抽取测试了其他的数据,从简单的例子计算看,结果还是准确的。

Python 相关文章推荐
python读取注册表中值的方法
Apr 08 Python
python类继承用法实例分析
Oct 10 Python
python实现的用于搜索文件并进行内容替换的类实例
Jun 28 Python
python中logging包的使用总结
Feb 28 Python
python excel使用xlutils类库实现追加写功能的方法
May 02 Python
Python不使用int()函数把字符串转换为数字的方法
Jul 09 Python
Python将文本去空格并保存到txt文件中的实例
Jul 24 Python
Python3 执行系统命令并获取实时回显功能
Jul 09 Python
django 快速启动数据库客户端程序的方法示例
Aug 16 Python
Windows平台Python编程必会模块之pywin32介绍
Oct 01 Python
 Python 中 logging 模块使用详情
Mar 03 Python
Python接口自动化之文件上传/下载接口详解
Apr 05 Python
Python绘制3D图形
May 03 #Python
Python学习_几种存取xls/xlsx文件的方法总结
May 03 #Python
Python使用win32 COM实现Excel的写入与保存功能示例
May 03 #Python
python调用xlsxwriter创建xlsx的方法
May 03 #Python
Python基于opencv的图像压缩算法实例分析
May 03 #Python
python实现数据导出到excel的示例--普通格式
May 03 #Python
python操作xlsx文件的包openpyxl实例
May 03 #Python
You might like
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
一步一步学习PHP(4) php 函数 补充2
2010/02/15 PHP
php类声明和php类使用方法示例分享
2014/03/29 PHP
PHP中上传多个文件的表单设计例子
2014/11/19 PHP
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
2019/05/06 PHP
Javascript中Event属性搜集整理
2013/09/17 Javascript
js仿手机页面文件下拉刷新效果
2016/10/14 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
2017/04/22 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
ios设备中angularjs无法改变页面title的解决方法
2018/09/13 Javascript
微信小程序报错: thirdScriptError的错误问题
2020/06/19 Javascript
35个Python编程小技巧
2014/04/01 Python
python写的一个squid访问日志分析的小程序
2014/09/17 Python
Python爬虫工程师面试问题总结
2018/03/22 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
删除python pandas.DataFrame 的多重index实例
2018/06/08 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
Python 一句话生成字母表的方法
2019/01/02 Python
python+logging+yaml实现日志分割
2019/07/22 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
Python爬虫 bilibili视频弹幕提取过程详解
2019/07/31 Python
numpy.array 操作使用简单总结
2019/11/08 Python
TensorFlow学习之分布式的TensorFlow运行环境
2020/02/05 Python
windows下的pycharm安装及其设置中文菜单
2020/04/23 Python
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
浅析HTML5中的 History 模式
2017/06/22 HTML / CSS
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
委托与事件是什么关系?为什么要使用委托
2014/04/18 面试题
作文评语集锦大全
2014/04/23 职场文书
会计试用期自我评价
2014/09/19 职场文书
四风批评与自我批评发言稿
2014/10/14 职场文书
医院党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
网络营销计划
2015/01/17 职场文书