Projeto Euler Problema 3 Maior fator principal

tópico

Os fatores principais de 13195 são 5, 7, 13 e 29.

Qual é o maior fator primo do número 600851475143?

Os fatores primos de 13195 são 5, 7, 13, 29. P: Qual é o maior fator primo de 600851475143?

Ideias

Resolva o maior fator primo, ou seja, encontre um fator que só pode ser divisível por 1 e ele mesmo. n = a * b, aeb são dois fatores de n, assumindo a ≤ b, então a ≤ radical n, b ≥ radical n, só precisamos julgar se n pode ser divisível por um inteiro menor que o radical n.

Divida n de 2 como o divisor. Se n for divisível por 2, divida n por 2. Ao dividir até que não seja divisível por 2, divida n por 3 e, em seguida, use números maiores como divisores e n seguir-se-á Fique cada vez menor até que não seja igualmente divisível por 1 e um número diferente de si mesmo, e o resultado final é o maior fator primo de n.

Implementação de código (python)

n = 600851475143
i = 2
while i * i <= n:
    if n % i == 0:
        n = n / i
    else:
        i += 1
print(n)

 

Acho que você gosta

Origin blog.csdn.net/weixin_41297561/article/details/108630469
Recomendado
Clasificación