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编写Linux系统守护进程实例
Feb 03 Python
详细解读Python的web.py框架下的application.py模块
May 02 Python
python实现的简单抽奖系统实例
May 22 Python
Python 提取dict转换为xml/json/table并输出的实现代码
Aug 28 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
Sep 11 Python
python版opencv摄像头人脸实时检测方法
Aug 03 Python
python 限制函数执行时间,自己实现timeout的实例
Jan 12 Python
Django中使用Whoosh进行全文检索的方法
Mar 31 Python
Python英文文章词频统计(14份剑桥真题词频统计)
Oct 13 Python
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
Feb 27 Python
对python中list的五种查找方法说明
Jul 13 Python
Python使用sys.exc_info()方法获取异常信息
Jul 23 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
web方式ftp
2006/10/09 PHP
PHP动态分页函数,PHP开发分页必备啦
2011/11/07 PHP
thinkphp 多表 事务详解
2013/06/17 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
PHP实现图片自动清理的方法
2015/07/08 PHP
详解PHP中的mb_detect_encoding函数使用方法
2015/08/18 PHP
PHP页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
Yii核心验证器api详解
2016/11/23 PHP
PHP简单留言本功能实现代码
2017/06/09 PHP
JQuery从头学起第一讲
2010/07/04 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
Jquery实现侧边栏跟随滚动条固定(兼容IE6)
2014/04/02 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
jQuery使用addClass()方法给元素添加多个class样式
2015/03/26 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
浅谈es6 javascript的map数据结构
2017/12/14 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
JS实现面向对象继承的5种方式分析
2018/07/21 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
2019/08/20 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python实现读取目录所有文件的文件名并保存到txt文件代码
2014/11/22 Python
在Python的Flask框架中实现全文搜索功能
2015/04/20 Python
如何使用七牛Python SDK写一个同步脚本及使用教程
2015/08/23 Python
python 多线程中子线程和主线程相互通信方法
2018/11/09 Python
Python调用服务接口的实例
2019/01/03 Python
python add_argument()用法解析
2020/01/29 Python
pytorch 模型的train模式与eval模式实例
2020/02/20 Python
Django如何批量创建Model
2020/09/01 Python
HTML5中使用postMessage实现Ajax跨域请求的方法
2016/04/19 HTML / CSS
供应链金融服务方案
2014/05/25 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
廉洁自律准则学习心得体会
2016/01/13 职场文书
《活见鬼》教学反思
2016/02/24 职场文书
Pytorch中的数据集划分&正则化方法
2021/05/27 Python
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
2022/06/25 Servers