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新手经常遇到的17个错误分析
Jul 30 Python
Python中非常实用的一些功能和函数分享
Feb 14 Python
Python3读取zip文件信息的方法
May 22 Python
Python实现抓取网页生成Excel文件的方法示例
Aug 05 Python
Python 多核并行计算的示例代码
Nov 07 Python
无法使用pip命令安装python第三方库的原因及解决方法
Jun 12 Python
Python实现删除排序数组中重复项的两种方法示例
Jan 31 Python
使用APScheduler3.0.1 实现定时任务的方法
Jul 22 Python
Python基于Dlib的人脸识别系统的实现
Feb 26 Python
Python selenium页面加载慢超时的解决方案
Mar 18 Python
pygame用blit()实现动画效果的示例代码
May 28 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
Jun 28 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
PHP反射使用实例和PHP反射API的中文说明
2014/07/02 PHP
php的ZipArchive类用法实例
2014/10/20 PHP
ThinkPHP上使用多说评论插件的方法
2014/10/31 PHP
PHP 数组基本操作小结(推荐)
2016/06/13 PHP
让iframe自适应高度(支持XHTML,支持FF)
2007/07/24 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
2013/05/08 Javascript
jQuery实现表格行上下移动和置顶效果
2015/06/05 Javascript
javascript跨域的方法汇总
2015/10/23 Javascript
纯JS前端实现分页代码
2016/06/21 Javascript
D3.js实现雷达图的方法详解
2016/09/22 Javascript
BootStrap按钮标签及基本样式
2016/11/23 Javascript
weebox弹出窗口不居中显示的解决方法
2017/11/27 Javascript
jquery实现搜索框功能实例详解
2018/07/23 jQuery
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
基于Vue2-Calendar改进的日历组件(含中文使用说明)
2019/04/14 Javascript
微信公众平台 客服接口发消息的实现代码(Java接口开发)
2019/04/17 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
微信小程序关键字变色实现代码实例
2019/12/13 Javascript
JavaScript实现世界各地时间显示
2020/09/07 Javascript
Python中的lstrip()方法使用简介
2015/05/19 Python
Python列表推导式与生成器表达式用法示例
2018/02/08 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
python pandas利用fillna方法实现部分自动填充功能
2020/03/16 Python
Pycharm如何导入python文件及解决报错问题
2020/05/10 Python
python 实现图片批量压缩的示例
2020/12/18 Python
python文件路径操作方法总结
2020/12/21 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
2021/01/09 Python
深入理解css中vertical-align属性
2017/04/18 HTML / CSS
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
iHerb中文官网:维生素、保健品和健康产品
2018/11/01 全球购物
世界上最大的隐形眼镜商店:1-800 Contacts
2018/11/03 全球购物
无工作经验者个人求职信范文
2013/12/22 职场文书
商铺租房协议书范本
2014/12/04 职场文书
2015年学校综合治理工作总结
2015/07/20 职场文书
幼儿园教师辞职信
2019/06/21 职场文书
js实现模拟购物商城案例
2021/05/18 Javascript