python分解质因数递归_Python 正整数分解质因数具体实现附代码
时间: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 正整数分解质因数具体实现附代码相关推荐
- python评分卡建模_Python实现半自动评分卡建模(附代码)
作者:Summer Memories 个人公众号:风控汪的数据分析之路 知乎专栏:小鑫的数据分析笔记 这次分享一个自己写的python脚本,可以实现半自动化的评分卡建模.运行脚本时需要input已经预 ...
- python特征工程意义_python数据挖掘--特征工程篇(附代码)
记录数据挖掘路上遇到的常用特征工程方法和技巧(附代码),方便自己,方便他人,持续更新. 1.哑编码 对某一列数据进行pandas自带的(定性数据哑编码,定量数据二值化),并附上名字 pd.get_du ...
- 树莓派python实例_使用Python实现树莓派WiFi断线自动重连实例(附代码)
实现 WiFi 断线自动重连,原理是用 Python 监测网络是否断线,如果断线则重启网络服务.接下来给大家分享实现代码,需要的朋友参考下 1.Python 代码 autowifi.py,放在 /ho ...
- python五子棋游戏大作业_python-大作业之五子棋游戏(附代码)
<python-大作业之五子棋游戏(附代码)>由会员分享,可在线阅读,更多相关<python-大作业之五子棋游戏(附代码)(6页珍藏版)>请在金锄头文库上搜索. 1.Pytho ...
- python 双目视觉_球体的双目视觉定位(matlab,附代码)
球体的双目视觉定位(matlab,附代码) 标签(空格分隔): 机器视觉 引言 双目视觉定位是我们的一个课程设计,最近刚做完,拿出来与大家分享一下,实验的目的是在拍摄的照片中识别球体,并求出该球体到相 ...
- python 正整数因数分解_Python正整数分解质因数
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- java正整数分解因数_java将一个正整数分解质因数
import java.util.Scanner; import java.util.Vector; public class 分解质因数 { public static void main(Stri ...
- java实现将一个正整数分解质因数,Java将一个正整数分解质因数
import java.io.*; public class Factorization { public void division(int input) { for(int i = 2; i &l ...
- python setattr无限递归_python – 如何正确使用__setattr__,避免无限递归
我想定义一个包含读写方法的类,可以调用如下: instance.read instance.write instance.device.read instance.device.write 为了不使用 ...
最新文章
- 在DataGrid中添加一个LookUpColumn,以比较灵活地实现DictValue值代替DictID值显示.
- ORACLE 查询日志
- linux ssh 提示 too many authentication failures for root root的身份验证失败太多 解决办法
- plot画分段函数_python画图函数大全
- fragment重影解决办法
- SAP License:SAP生产订单中的统计指标运用
- 医学实验室质量和能力认可准则在实验室信息系统的应用说明CNAS-CL35
- 在C ++中将String转换为Integer并将Integer转换为String
- LVM基本介绍与常用命令
- 关于call()的this指向研究
- 3-9 G: LZY的时间转化
- Android Camera之Deferred Surface
- 第6-8课:分离轴算法(SAT)与碰撞检测(图文篇)
- Shell脚本之多重循环
- 为什么IPv6显示无网络访问权限
- Davinci学习-Dem
- 消费商时代来临,日常消费成为投资
- 018 Rust死灵书之非安全方式初始化内存
- LeetCode每日一题,积少成多,量变到质变(最近比较忙不定期持续更新.........)
- 网页设计作业 开心网旅游(11页) web前端期末大作业 html+css+javascript网页设计实例
热门文章
- 滴滴补贴大战熄火;360 核心高管离职;贾跃亭妻子欠14亿成“老赖”| 一周业界事
- 外贸企业邮箱怎么快速申请?企业版邮箱如何登陆?
- 14种不适合创业的人:创业有风险,入行需谨慎
- 由【酷狗音乐】所联想到的C/S界面设计
- Hadoop学习系列之Hadoop、Spark学习路线
- OAuth 2.0 RFC 框架 中文
- 十二星座英语名称(Zodiac)
- C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子。 ——兔子党逍遥原创,转来分享学习
- 中冠百年|普通家庭应该如何进行理财投资
- 如何用计算机计算平均年龄,使用Excel计算每日平均值(Calculating Daily Averages with Excel)...