时间:2019-02-02

概述:分解质因数

Python将一个正整数分解质因数。例如:输入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的值,重复执行第一步。

下面是具体的代码实现:

from math import sqrt

#使用尾递归

def analyse(num):

for n in range(2,int(sqrt(num+1))+1):

if num%n==0:

print(n,end='*')

break

else:

print(num)

return

analyse(num//n) #尾递归

#运行时间与选取的数有很大关系,如果使用一个大素数会消耗很长时间

num=int(input('请输入整数(尽量不要尝试很大的素数,会需要很长时间):'))

print(num,end='=')

analyse(num)

'''

#原来的程序,大数分解效率很低

from sys import stdout

n = int(raw_input("input number:\n"))

print "n = %d" % n

for i in range(2,n + 1):

while n != i:

if n % i == 0:

stdout.write(str(i))

stdout.write("*")

n = n / i

else:

break

print "%d" % n

'''

python分解质因数递归_Python 正整数分解质因数具体实现附代码相关推荐

  1. python评分卡建模_Python实现半自动评分卡建模(附代码)

    作者:Summer Memories 个人公众号:风控汪的数据分析之路 知乎专栏:小鑫的数据分析笔记 这次分享一个自己写的python脚本,可以实现半自动化的评分卡建模.运行脚本时需要input已经预 ...

  2. python特征工程意义_python数据挖掘--特征工程篇(附代码)

    记录数据挖掘路上遇到的常用特征工程方法和技巧(附代码),方便自己,方便他人,持续更新. 1.哑编码 对某一列数据进行pandas自带的(定性数据哑编码,定量数据二值化),并附上名字 pd.get_du ...

  3. 树莓派python实例_使用Python实现树莓派WiFi断线自动重连实例(附代码)

    实现 WiFi 断线自动重连,原理是用 Python 监测网络是否断线,如果断线则重启网络服务.接下来给大家分享实现代码,需要的朋友参考下 1.Python 代码 autowifi.py,放在 /ho ...

  4. python五子棋游戏大作业_python-大作业之五子棋游戏(附代码)

    <python-大作业之五子棋游戏(附代码)>由会员分享,可在线阅读,更多相关<python-大作业之五子棋游戏(附代码)(6页珍藏版)>请在金锄头文库上搜索. 1.Pytho ...

  5. python 双目视觉_球体的双目视觉定位(matlab,附代码)

    球体的双目视觉定位(matlab,附代码) 标签(空格分隔): 机器视觉 引言 双目视觉定位是我们的一个课程设计,最近刚做完,拿出来与大家分享一下,实验的目的是在拍摄的照片中识别球体,并求出该球体到相 ...

  6. python 正整数因数分解_Python正整数分解质因数

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  7. java正整数分解因数_java将一个正整数分解质因数

    import java.util.Scanner; import java.util.Vector; public class 分解质因数 { public static void main(Stri ...

  8. java实现将一个正整数分解质因数,Java将一个正整数分解质因数

    import java.io.*; public class Factorization { public void division(int input) { for(int i = 2; i &l ...

  9. python setattr无限递归_python – 如何正确使用__setattr__,避免无限递归

    我想定义一个包含读写方法的类,可以调用如下: instance.read instance.write instance.device.read instance.device.write 为了不使用 ...

最新文章

  1. 在DataGrid中添加一个LookUpColumn,以比较灵活地实现DictValue值代替DictID值显示.
  2. ORACLE 查询日志
  3. linux ssh 提示 too many authentication failures for root root的身份验证失败太多 解决办法
  4. plot画分段函数_python画图函数大全
  5. fragment重影解决办法
  6. SAP License:SAP生产订单中的统计指标运用
  7. 医学实验室质量和能力认可准则在实验室信息系统的应用说明CNAS-CL35
  8. 在C ++中将String转换为Integer并将Integer转换为String
  9. LVM基本介绍与常用命令
  10. 关于call()的this指向研究
  11. 3-9 G: LZY的时间转化
  12. Android Camera之Deferred Surface
  13. 第6-8课:分离轴算法(SAT)与碰撞检测(图文篇)
  14. Shell脚本之多重循环
  15. 为什么IPv6显示无网络访问权限
  16. Davinci学习-Dem
  17. 消费商时代来临,日常消费成为投资
  18. 018 Rust死灵书之非安全方式初始化内存
  19. LeetCode每日一题,积少成多,量变到质变(最近比较忙不定期持续更新.........)
  20. 网页设计作业 开心网旅游(11页) web前端期末大作业 html+css+javascript网页设计实例

热门文章

  1. 滴滴补贴大战熄火;360 核心高管离职;贾跃亭妻子欠14亿成“老赖”| 一周业界事
  2. 外贸企业邮箱怎么快速申请?企业版邮箱如何登陆?
  3. 14种不适合创业的人:创业有风险,入行需谨慎
  4. 由【酷狗音乐】所联想到的C/S界面设计
  5. Hadoop学习系列之Hadoop、Spark学习路线
  6. OAuth 2.0 RFC 框架 中文
  7. 十二星座英语名称(Zodiac)
  8. C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子。 ——兔子党逍遥原创,转来分享学习
  9. 中冠百年|普通家庭应该如何进行理财投资
  10. 如何用计算机计算平均年龄,使用Excel计算每日平均值(Calculating Daily Averages with Excel)...