问题描述:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

源代码:


#!/usr/bin/python
# -*- coding: UTF-8 -*-def reduceNum(n):print '{} = '.format(n),if not isinstance(n, int) or n <= 0 :print '请输入一个正确的数字 !'exit(0)elif n in [1] :print '{}'.format(n)while n not in [1] : # 循环保证递归for index in xrange(2, n + 1) :if n % index == 0:n /= index # n 等于 n/indexif n == 1: print index else : # index 一定是素数print '{} *'.format(index),break
reduceNum(90)
reduceNum(100)

输出结果如下:

90 =  2 * 3 * 3 * 5
100 =  2 * 2 * 5 * 5

Python编程之正整数分解相关推荐

  1. 【编程练习】正整数分解为几个连续自然数之和

    题目:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列. 一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 ...

  2. python对整数进行因数分解_浅谈将一个正整数分解质因数的逻辑思维和Python开发设计...

    今天讨论的是如何将一个正整数分解质因数.例如:输入36,打印出36=2*2*3*3. 1.首先要清晰两个概念,要知道什么是质数,如何进行分解质因数?质数是指在大于1的自然数中,除了1和它本身以外不再有 ...

  3. 分解连续自然数的和_【编程练习】正整数分解为几个连续自然数之和

    题目:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列. 一个正整数有可能可以被表示为n(n>=2)个连续正整数之和,如: 15=1+2+3+4+5 15=4+5+6 ...

  4. python分解质因数递归_Python 正整数分解质因数具体实现附代码

    时间:2019-02-02 概述:分解质因数 Python将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5.解题思路分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤 ...

  5. python将一个正整数分解质因数

    将一个正整数分解质因数 1. 解法一 2. 解法二 3. 解法三 4. 解法四 例如输入90,输出:90=2*3*3*5 对n进行分解质因数,应先找到一个最小的质数i,然后按下述步骤完成: (1)如果 ...

  6. python 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

    # 将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5.n = int(input('请输入需要分解的正数:')) # 创建一个列表用来存放遍历出来的因数 lt = [] # 给n换个 ...

  7. python编程入门经典实例-编程语言入门经典100例【Python版】

    无论学习哪门计算机语言,只要把100例中绝大部分题目都做一遍,就基本掌握该语言的语法了. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #Filena ...

  8. python编程100个小程序-【Python精华】100个Python练手小程序

    100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同 ...

  9. python编程100个小程序-整理了适合新手的20个Python练手小程序

    即刻关注公众号,发现世界的美好 100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python. [程序1] 题目:有1.2.3 ...

最新文章

  1. 由浅到深了解JavaScript类
  2. win10组件服务计算机是红色的,KB4023057:Windows 10更新服务组件的更新
  3. Window服务器可安装的live messager最新版本-20090826
  4. JavaScript设计一个框架
  5. 阿里云服务器windows系统上Nodejs监听80端口报错!
  6. 自定义console.log字体样式
  7. Finaldata数据恢复软件官方版
  8. 2011年Esri用户大会技术亮点总结之一:概览
  9. STM32读取HMC5883L的偏航角数据
  10. 如何成为高手?嵌入式开发进阶之路...
  11. 两组的数据平均值合并_数据平均值合并计算 合并计算求平均值
  12. 用Python优雅地制作动态条形图
  13. 《肖申克的救赎》- 阅后小记
  14. android 传感器小游戏,重力感应球游戏
  15. CUDA C/C++ 流和并发
  16. 视频太大不能上传如何缩小?
  17. java excel 设置行高 jxi_win7系统下excel2007批量设置行高、列宽、行列间距的方法...
  18. 免费下载思科CCNP 642-802考试题库
  19. 千年虫病毒是不是计算机病毒,千年虫病毒是为什么?
  20. 跳槽需要有一份好的简历

热门文章

  1. gvim文本编辑工具基本操作
  2. 戴尔电脑无法自动修复此计算机,戴尔win10无限自动修复重置电脑时出现问题 你做对了吗?...
  3. 好快, 1分钟写好下拉刷新,滚动加载自动分页列表
  4. 计算机投影仪的作用是什么,投影仪怎么连接电脑呢?操作方法是什么呢?
  5. 关于EndNote 中文GB/T7144文献页码及括号不全的解决方法
  6. c#中字符串显示上标和下标解决办法
  7. Java RAR解析
  8. C语言,进制转换之二进制转八进制,完整代码
  9. Teigha .dwg文件开发——基础概念
  10. 学了Python不做全职工作,那么可以靠哪些兼职赚到钱?