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使用递归解决全排列数字示例
Feb 11 Python
python将图片文件转换成base64编码的方法
Mar 14 Python
Python脚本在Appium库上对移动应用实现自动化测试
Apr 17 Python
python使用nntp读取新闻组内容的方法
May 08 Python
Python运算符重载用法实例
May 28 Python
python生成随机密码或随机字符串的方法
Jul 03 Python
Python中Django框架利用url来控制登录的方法
Jul 25 Python
python的turtle库使用详解
May 10 Python
Python创建或生成列表的操作方法
Jun 19 Python
解决python文件双击运行秒退的问题
Jun 24 Python
pyinstaller打包opencv和numpy程序运行错误解决
Aug 16 Python
Python tornado上传文件的功能
Mar 26 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
《雄兵连》《烈阳天道》真的来了
2020/07/13 国漫
php生成条形码的图片的实例详解
2017/09/13 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
简单的前端js+ajax 购物车框架(入门篇)
2011/10/29 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
javascript将DOM节点添加到文档的方法实例分析
2015/08/04 Javascript
AngularJS Module方法详解
2015/12/08 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
关于JavaScript和jQuery的类型判断详解
2016/10/08 Javascript
JS简单判断函数是否存在的方法
2017/02/13 Javascript
Angular 4中如何显示内容的CSS样式示例代码
2017/11/06 Javascript
AngularJS创建一个上传照片的指令实例代码
2018/02/24 Javascript
详解Axios 如何取消已发送的请求
2018/10/20 Javascript
js/jQuery实现全选效果
2019/06/17 jQuery
基于html+css+js实现简易计算器代码实例
2020/02/28 Javascript
js+html+css实现手动轮播和自动轮播
2020/12/30 Javascript
Python验证企业工商注册码
2015/10/25 Python
python 自动化将markdown文件转成html文件的方法
2016/09/23 Python
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
django基础之数据库操作方法(详解)
2017/05/24 Python
利用python批量给云主机配置安全组的方法教程
2017/06/21 Python
Python使用三种方法实现PCA算法
2017/12/12 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
详解Django-restframework 之频率源码分析
2019/02/27 Python
Python 代码调试技巧示例代码
2020/08/11 Python
设计毕业生简历中的自我评价
2013/10/01 职场文书
电子商务专业学生的自我鉴定
2013/11/28 职场文书
大学生职业生涯规划书模板
2014/01/18 职场文书
优秀毕业生自我鉴定
2014/01/19 职场文书
机械专业求职信范文
2014/07/15 职场文书
音乐之声音乐广播稿
2014/09/10 职场文书
办理信用卡工作证明
2014/09/30 职场文书
MySQL中InnoDB存储引擎的锁的基本使用教程
2021/05/26 MySQL
python基础学习之递归函数知识总结
2021/05/26 Python
【DOTA2】半决赛强强对话~ PSG LGD vs EHOME - DPC 2022 CN REGIONAL FINALS WINTER
2022/04/02 DOTA
springboot读取nacos配置文件
2022/05/20 Java/Android