project_euler.problem_003.sol1

Project Euler Problem 3: https://projecteuler.net/problem=3

Largest prime factor

The prime factors of 13195 are 5, 7, 13 and 29.

What is the largest prime factor of the number 600851475143?

References:

Functions

is_prime(→ bool)

Checks to see if a number is a prime in O(sqrt(n)).

solution(→ int)

Returns the largest prime factor of a given number n.

Module Contents

project_euler.problem_003.sol1.is_prime(number: int) bool

Checks to see if a number is a prime in O(sqrt(n)). A number is prime if it has exactly two factors: 1 and itself. Returns boolean representing primality of given number (i.e., if the result is true, then the number is indeed prime else it is not).

>>> is_prime(2)
True
>>> is_prime(3)
True
>>> is_prime(27)
False
>>> is_prime(2999)
True
>>> is_prime(0)
False
>>> is_prime(1)
False
project_euler.problem_003.sol1.solution(n: int = 600851475143) int

Returns the largest prime factor of a given number n.

>>> solution(13195)
29
>>> solution(10)
5
>>> solution(17)
17
>>> solution(3.4)
3
>>> solution(0)
Traceback (most recent call last):
    ...
ValueError: Parameter n must be greater than or equal to one.
>>> solution(-17)
Traceback (most recent call last):
    ...
ValueError: Parameter n must be greater than or equal to one.
>>> solution([])
Traceback (most recent call last):
    ...
TypeError: Parameter n must be int or castable to int.
>>> solution("asd")
Traceback (most recent call last):
    ...
TypeError: Parameter n must be int or castable to int.