这是一道很老的题了,面试时很有可能回遇到。我整理了一下思路,于是有了下面的代码:

# -*- coding: UTF-8 -*-

def prime_Factor(n):
    n = int(n)
    for i in range(2, n//2+1):  #由于最小的质数是2,所以最大的遍历次数是一半就行了,为了保证遍历到最后一个元素要 +1
        if n % i == 0:
            l.append(i) #笔者认为一个数除去1和它本身外,一定能被2,3,5,7,13,17...等其中一个或多个质数整除,所以i就是质因数。
            return prime_Factor(n/i)  #递归调用函数,传入原数除以第一个质因数的商,以此类推
    l.append(n) #最后一个质因数,因为range范围 n//2 + 1的限制,最后一个质因数,你无法取到,所以,最后要添加上
    return l

if __name__ == "__main__":
    n = input('please input a number:')
    l = []
    L = prime_Factor(n)
    st = str(n)+'='
    for i in L:
        st = st + str(i) + 'x'
    print(st[:-1])

笔试题里往往是这样写的:请写代码分解质因数,如输入90,打印输出:90=2x3x3x5

哈,你找出质因数还不行,还得是那种输出格式,呵呵。。。

笔者的思路是:

1.创建一个空列表,用于存放找出来的质因数,方便打印要求的格式。

2.定义函数prime_Factor(n),找到所有质因数,append到列表中,对于代码部分,看注释。

3.遍历列表,拼接字符串,由于最后一个数字也拼了一个 ‘x’ ,所以打印输出的时候可以用切片的方式去除最后一个‘x’。

如果不切片,会变成90=2x3x3x5x 这样,笔者没想到其他方法。有其他方法的大佬,有幸看到我的博客,望告诉小弟啊。

分享:如何分解质因数之python实现(例如90分解质因数:90=2x3x3x5)相关推荐

  1. 分解 python_面试官:如何用Python实现将一个整数分解成质因数?

    概述 今天主要分享一个关于分解质因数的实例,判断的逻辑稍微多了点,一起来看看吧~ 需求 将一个整数分解质因数.例如:输入90,打印出90=233*5 思路 其实根本不需要判断是否是质数,从2开始向数本 ...

  2. Python判断质数合数,质因数分解并得到所有因数

    Python判断质数合数,质因数分解并得到所有因数 判断质数.合数 质因数分解 得到所有正因数 完整程序 运行效果 判断质数.合数 要判断一个大于一的正整数是质数还是合数,只需判断在区间[2, √x] ...

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

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

  4. Python编程之正整数分解

    问题描述:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因 ...

  5. Python培训教程分享:visual studio编写python怎么样?

    本期小编要为大家介绍的Python培训教程就是关于"visual studio编写python怎么样?"的问题,但答案当然是可以的,据了解,vs2017.vs2019都集成了pyt ...

  6. Python培训教程分享:“高效实用” 的Python工具库

    作为一名合格Python技术员,对于Python工具库的使用是少不了的,本期Python培训教程就为大家分享的是""高效实用" 的Python工具库",希望能够 ...

  7. 简明python教程 豆瓣-福利分享:个人整理的Python书单,从基础到进阶

    原标题:福利分享:个人整理的Python书单,从基础到进阶 我挑选的一些书籍,大家可以自行到书店或是网上自己选购.也由于个人水平有限,很可能大家觉得优秀的书籍没有列出,如果大家有觉得不错的书籍,欢迎大 ...

  8. python网络爬虫权威指南 豆瓣_福利分享:个人整理的Python书单,从基础到进阶...

    原标题:福利分享:个人整理的Python书单,从基础到进阶 我挑选的一些书籍,大家可以自行到书店或是网上自己选购.也由于个人水平有限,很可能大家觉得优秀的书籍没有列出,如果大家有觉得不错的书籍,欢迎大 ...

  9. Python中矩阵SVD分解及还原

    python中SVD分解及还原: import numpy as np from numpy import linalg as la S = np.zeros([5,5]) A=np.random.r ...

  10. matlab和python中的svd分解的区别

    matlab中的svd分解中 得到的第三项是V, 代码如下: A=[1 2 3 4 5 6 7 8 9; 5 6 7 8 9 0 8 6 7; 9 0 8 7 1 4 3 2 1; 6 4 2 1 3 ...

最新文章

  1. 桶排序算法(基于Java实现)
  2. 阿里云ECS使用SSH连接CentOS 6.9经常断线的问题解决:OperationTimedOut
  3. 如何正确创建DLL和使用DLL
  4. android微信支付坑,微信支付踏坑之旅
  5. python底层源码_大师兄的Python机器学习笔记:统计学基础之底层代码实现(一)...
  6. 关于云计算的讨论,一年就等这一回!
  7. 剑指offer最新版_剑指offer第二版速查表
  8. 5G关键技术之NFV
  9. ubuntu PHP Cannot adopt OID in UCD-SNMP-MIB
  10. eclipse快捷方式打不开解决方法
  11. 什么是电影衍生品,电影衍生品是用来干嘛的?
  12. DAOS 源码解析之 daos_pool
  13. MATLAB矩阵相关函数学习--中级函数
  14. 华为社会招聘面试流程
  15. 重写Github的TreeTableView库实现定制显示子节点
  16. CodingTrip - 携程编程大赛 (预赛第二场)
  17. 原创 | 自学编程,我该如何寻找自学资源?
  18. WebMatrix学习研究
  19. 安装window10时没选XPS,现在怎么安装
  20. 文献翻译__tvreg v2:用于去噪、反卷积、修复和分割的变分成像方法(部分)

热门文章

  1. 到底cms企业建站系统是什么?为什么要做cms系统?
  2. 计算起始时间与结束时间之间有哪些月份和周数
  3. 找出列表中最大或最小的元素-python3
  4. C++ MFC学习笔记(第三课)绘制统计直方图
  5. input 标签中的 Hiden隐藏域
  6. 什么是反射 反射怎么用
  7. 大数据分析01——成都二手房(平均价格)
  8. C语言:判断一个数是否为素数/质数
  9. 『软件推荐』PanDownload出安卓版了
  10. 我不想在做桌面运维了、我想做linux运维、我也要运维高薪