求600851475143的最大质因数

来源:互联网 发布:淘宝怎样好评返现 编辑:程序博客网 时间:2024/06/05 03:35

题目原文:

求600851475143的最大质因数

 

"""对于给定的n, 使factor = 2, 3, 4, 5, 6...,对于每个factor, 当factor能被n完全整除时, 就到下一个factor.可以预见, 所有被整除的factor都是质因数,当所有小的因数都被整除时, n将会变为1如n为20, factor为2时, 20 % 2 = 0, n = n / 2, n变为10,return factor为10,10 % 2 = 0, n = n / 2, n变为5, (整除时将某一个因数整除完)然后下一个factor3, 4, 5, n % 5 = 0,return factor = 5, n变为1, 跳出循环"""n = 600851475143factor = 2lastFactor = 1while n > 1:    if n % factor==0:          lastFactor = factor         n = n/factor        while n % factor==0:            n = n / factor    factor = factor + 1  print(lastFactor)


0 0