资讯专栏INFORMATION COLUMN

Just for fun——分解一个正整数的质因数

hufeng / 3693人阅读

摘要:为什么我要记录这个问题,因为之前面试的时候遇到过,当时自己写的算法不好,所以,在此记录一下代码是基于写的人生苦短,写算法请用,的话请用从最小质数开始,如果能被整除,则,不能则这里你可能有疑问,如果一个数被整除了呢,那么它加入这个不久不对了嘛

Reason

为什么我要记录这个问题,因为之前面试的时候遇到过,当时自己写的算法不好,所以,在此记录一下

Answer

代码是基于python3写的(人生苦短,写算法请用python,web的话请用php ^_^)

def prime(n):
    l = []
    while n > 1:
        for i in range(2, n + 1):
            if n % i == 0:
                n = int(n / i)
                l.append(i)
                break
    return l
    
    
print(prime(1020)) # [2, 2, 3, 5, 17]
Explanation

从最小质数2开始,如果num能被i整除,则num = num / i,不能则i += 1
这里你可能有疑问,如果一个数被6整除了呢,那么它加入这个list不久不对了嘛?
但是你应该意识到,被6能整除,它肯定被它的质数整除了,我们是从最小质数开始的

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40883.html

相关文章

  • leetcode 343. Integer Break

    摘要:题目要求将一个正整数分解为两个或两个以上的正整数,要求这些正整数的乘积最大。思路和代码这里应用了一个数学的思路。假设我们有一个数字,该数组可以随机分解为和。因此取时可以得到最好的结果。至于为什么我们需要尽可能用分解,因为。 题目要求 Given a positive integer n, break it into the sum of at least two positive in...

    233jl 评论0 收藏0
  • 非对称加密技术- RSA算法数学原理分析

    摘要:本文首发于深入浅出区块链社区原文链接非对称加密技术算法数学原理分析原文已更新,请读者前往原文阅读非对称加密技术,在现在网络中,有非常广泛应用。加密技术更是数字货币的基础。 本文首发于深入浅出区块链社区原文链接:非对称加密技术 - RSA算法数学原理分析原文已更新,请读者前往原文阅读非对称加密技术,在现在网络中,有非常广泛应用。加密技术更是数字货币的基础。 所谓非对称,就是指该算法需要一...

    maxmin 评论0 收藏0
  • 11道面试中不常见却一定会问到Python题解析

    摘要:面试题解析我们知道网上有非常多面试题的解析,但是其中往往是前几年的老题了。为了帮助小伙伴们能够在工作面试中脱颖而出,再此特别奉上年道最新面试大题及答题思路解析。类不是一等公民。随机实数返回到之间的浮点数返回指定范围内的浮点数。 showImg(https://segmentfault.com/img/remote/1460000019353245); Python面试题解析 我们知道...

    mudiyouyou 评论0 收藏0
  • 算法之不定期更新(一)(2018-04-12)

    摘要:算法的确有他独特的魅力。然后我在做这个题的时候,其实也用到了类似质因数分解,只是其实我们可以更好的利用到因数这一个特性。判断一个数是否是质数质数列表一开始我们认为每一个数都可能是自身的幂线性筛为质数遍历质数列表为质数的幂 前言 从三月份到现在,大大小小笔试了十几家公司(主要是因为一直solo code,没人内推),然后也能感觉到自己的进步把。从编程题只能ac一题到后来的ak。今天面腾讯...

    Martin91 评论0 收藏0
  • 五种最大公约数Python求解总结

      小编写这篇文章的主要目的,主要是给大家讲解一下,关于最大公约数的求解方法,下面小编集中给大家总结一下,具体操作的五种方法。  方法一:短除法  短除法是求最大公因数的一种方法,也可用来求最小公倍数。求几个数最大公因数的方法,开始时用观察比较的方法,即:先把每个数的因数找出来,然后再找出公因数,最后在公因数中找出最大公因数。后来,使用分解质因数法来分别分解两个数的因数,再进行运算。之后又演变为短...

    89542767 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<