Python实现正整数分解质因数操作示例


Posted in Python onAugust 01, 2018

本文实例讲述了Python实现正整数分解质因数操作。分享给大家供大家参考,具体如下:

遇到一个Python编程练习题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
def div_func(n):
  result = []
  while True:
    for i in xrange(2, int(n**0.5) + 1):
      if n % i == 0:
        result.append(i)
        n /= i
        break
    else:
      result.append(n)
      break
  return ' * '.join(map(str, result))
num = raw_input('please enter a number( < 1.0E+18):')
try:
  int_num = int(num)
  if int_num > 10**18 or int_num < 0:
    raise ValueError()
  print div_func(int_num)
except ValueError:
  print 'invalid number'

please enter a number( < 1.0E+18):123124324324134334
2 X 293 X 313 X 362107 X 1853809

自己写的,完全没有参考网上其它人的算法。结果和大家都差不多。

另外还可以用递归方法:

def factor(num):
  if num == 1:
    return []
  else:
    for i in range(2, num+1):
      n, d = divmod(num, i)
      if d == 0:
        return [i] + factor(n)
for test_num in (299, 1024, 20, 7):
  print(test_num, '->', ' * '.join(map(str, factor(test_num))))

299 -> 13 * 23
1024 -> 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2
20 -> 2 * 2 * 5
7 -> 7

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线分解质因数计算器工具:
http://tools.3water.com/jisuanqi/factor_calc

在线一元函数(方程)求解计算工具:
http://tools.3water.com/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.3water.com/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.3water.com/jisuanqi/jsq

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python 自动提交和抓取网页
Jul 13 Python
python模拟事件触发机制详解
Jan 19 Python
Python+PIL实现支付宝AR红包
Feb 09 Python
Python贪心算法实例小结
Apr 22 Python
python操作excel的包(openpyxl、xlsxwriter)
Jun 11 Python
对pandas里的loc并列条件索引的实例讲解
Nov 15 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
May 15 Python
python中enumerate() 与zip()函数的使用比较实例分析
Sep 03 Python
python列表推导式操作解析
Nov 26 Python
python 检查数据中是否有缺失值,删除缺失值的方式
Dec 02 Python
在Python中用GDAL实现矢量对栅格的切割实例
Mar 11 Python
基于python 将列表作为参数传入函数时的测试与理解
Jun 05 Python
Python列表生成式与生成器操作示例
Aug 01 #Python
Python开发最牛逼的IDE——pycharm
Aug 01 #Python
django从请求到响应的过程深入讲解
Aug 01 #Python
python3.6的venv模块使用详解
Aug 01 #Python
从请求到响应过程中django都做了哪些处理
Aug 01 #Python
Python WSGI的深入理解
Aug 01 #Python
Django进阶之CSRF的解决
Aug 01 #Python
You might like
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
2010/10/12 PHP
php抓取网站图片并保存的实现方法
2015/10/29 PHP
PHP经典实用正则表达式小结
2017/05/04 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
2019/06/05 PHP
jsTree树控件(基于jQuery, 超强悍)[推荐]
2009/09/01 Javascript
jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)
2010/05/24 Javascript
JQuery从头学起第三讲
2010/07/06 Javascript
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
NodeJS的模块写法入门(实例代码)
2012/03/07 NodeJs
JS/jQuery实现默认显示部分文字点击按钮显示全部内容
2013/05/13 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
2014/11/23 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
2015/06/19 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
vue-cli单页应用改成多页应用配置详解
2017/07/14 Javascript
使用nodeJs来安装less及编译less文件为css文件的方法
2017/11/20 NodeJs
Vue+Webpack完美整合富文本编辑器TinyMce的方法
2018/11/30 Javascript
vue.js实现的全选与全不选功能示例【基于elementui】
2018/12/03 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
2019/05/02 Javascript
layui 阻止图片上传的实例(before方法)
2019/09/26 Javascript
Python OS模块常用函数说明
2015/05/23 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
python实现大转盘抽奖效果
2019/01/22 Python
numpy数组之存取文件的实现示例
2019/05/24 Python
pandas分组聚合详解
2020/04/10 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
html5定位并在百度地图上显示的示例
2014/04/27 HTML / CSS
HTML5未来发展趋势
2016/02/01 HTML / CSS
资金主管岗位职责范本
2014/03/04 职场文书
彩色的翅膀教学反思
2014/04/25 职场文书
整顿机关作风心得体会
2014/09/10 职场文书
三下乡个人总结
2015/03/04 职场文书
学校扫黄打非工作总结
2015/10/15 职场文书
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python