【数学问题】最大质因数

编者这里就利用python解决这些问题,解决方法不只一个,如果有想法的小伙伴欢迎评论,如果觉得不错,欢迎点赞,关注,收藏哦(^▽ ^)

问题描述

13195的所有质因数为5、7、13和29。

600851475143最大的质因数是多少?

问题解决

这题我们可以利用质因数分解来解决。

首先,每个合数都可以写成几个质数相乘的形式,这几个质数都叫做这个合数的质因数.,比如8=2乘2乘2,2就是8的质因数.12=2×2×3,2和3就是12的质因数.

把一个式子以12=2×2×3的形式表示,叫做质因数分解

质因数分解的方法:先用一个合数的最小质因数去除这个合数,得出的数若是一个质数,就写成这个合数相乘形式;若是一个合数就继续按原来的方法,直至最后是一个质数 。分解质因数的有两种表示方法,除了大家最常用知道的“短除分解形式”之外,还有一种方法就是“塔形分解形式”。

【数学问题】最大质因数_第1张图片

利用短除法的思路,我们可以写出以下程序:

num = int(input('num:'))

b = 2

while b < num:
    if num % b == 0:
        num /= b
    else:
        b += 1
print('result:', num)

num 作为目标数字,停止条件是当b=num,拿55为例,从2开始,b=5之前,num,都不能被b整除,当b=5,num被b整除,然后num=11, b从5开始,直到b=11,这是b=num,所以循环终止。结果:

num:600851475143
result:6857.0

你可能感兴趣的:(数学问题)