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中http请求方法库汇总
Jan 06 Python
python的staticmethod与classmethod实现实例代码
Feb 11 Python
pandas修改DataFrame列名的方法
Apr 08 Python
Python爬取成语接龙类网站
Oct 19 Python
pandas每次多Sheet写入文件的方法
Dec 10 Python
将python图片转为二进制文本的实例
Jan 24 Python
python使用PIL和matplotlib获取图片像素点并合并解析
Sep 10 Python
jupyter notebook清除输出方式
Apr 10 Python
完美解决pycharm 不显示代码提示问题
Jun 02 Python
Python-OpenCV实现图像缺陷检测的实例
Jun 11 Python
django中websocket的具体使用
Jan 22 Python
Matplotlib绘制条形图的方法你知道吗
Mar 21 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
第二节--PHP5 的对象模型
2006/11/16 PHP
基于PHP生成简单的验证码
2016/06/01 PHP
php实现给二维数组中所有一维数组添加值的方法
2017/02/04 PHP
PHP 实现从数据库导出到.csv文件方法
2017/07/06 PHP
PHP使用OB缓存实现静态化功能示例
2019/03/23 PHP
php写入mysql中文乱码的实例解决方法
2019/09/17 PHP
jQuery 全选效果实现代码
2009/03/23 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
2011/07/26 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
jQuery+PHP实现微信转盘抽奖功能的方法
2016/05/25 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
Angular 页面跳转时传参问题
2016/08/01 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
js实现表格筛选功能
2017/01/18 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
JS实现图片预览的两种方式
2017/06/27 Javascript
javascript将list转换成树状结构的实例
2017/09/08 Javascript
Vue 中批量下载文件并打包的示例代码
2017/11/20 Javascript
Angular4自制一个市县二级联动组件示例
2017/11/21 Javascript
python的turtle库使用详解
2019/05/10 Python
浅析pandas 数据结构中的DataFrame
2019/10/12 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
HTML5 placeholder属性详解
2016/06/22 HTML / CSS
墨尔本最受欢迎的复古风格品牌:Princess Highway
2018/12/21 全球购物
为您搜罗全球潮流時尚品牌:HBX
2019/12/04 全球购物
留学自荐信
2013/10/10 职场文书
大专生简历的自我评价
2013/11/26 职场文书
乡下人家教学反思
2014/02/01 职场文书
表决心的诗句大全
2014/03/11 职场文书
书香校园建设方案
2014/05/02 职场文书
2016年校长新年寄语
2015/08/17 职场文书
pytorch中的model.eval()和BN层的使用
2021/05/22 Python
国产动画《万圣街》日语配音版制作决定!
2022/03/20 国漫