题解 | #质数因子#

质数因子

http://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607

python3解法
质数一定是大于 1 的,并且不能用两个小于它的正整数的乘积来表示。
质因子(或质因数)在数论里是指能整除给定正整数的质数。
根据算术基本定理,不考虑排列顺序的情况下,每个正整数都能够以唯一的方式表示成它的质因数的乘积。
两个没有共同质因子的正整数称为互质。
因为1没有质因子,1与任何正整数(包括1本身)都是互质。只有一个质因子的正整数为质数。

num = int(input())
i = 2 #质因子从2开始遍历
while i **2 <= num and num >= i:  #循环写到根号n , 如果一个数是质数,除了1和本身,它的因子就等于自己的根号,当然不算在内
    while num % i == 0: #只要能够被整除,说明当前的i是num的一个质因子,
        num = num // i #num更新
        print(i, end=" ") #打印当前的质因子
    i = i + 1 #质因子+1 继续判断3...4跳过,因为2是4的因子,..5...sqrt(num)跳出循环。
if num - 1: #经过上述操作num还不等于1 即num本身是质数。
    print(num, end=" ")
全部评论
思路清晰,受益匪浅
点赞 回复 分享
发布于 2021-09-17 20:41

相关推荐

03-29 12:10
门头沟学院 C++
挣K存W养DOG:散漫消极者淘汰,一眼坑爹。实习几个月转正的时候说你加班太少,能力还行态度不够积极裁了,马上老实。
点赞 评论 收藏
分享
劝退式:感觉有人回才是不正常的
点赞 评论 收藏
分享
评论
5
6
分享

创作者周榜

更多
牛客网
牛客企业服务