Project Euler Problems

Project Euler Problem 003

Description

The prime factors of 13195 are 5,7,13 and 29.What is the largest prime factor of the number 600851475143?

main.ts

import { primes } from "../util/sequence/prime.ts"

function primeFactors(n: number): number[] {
    for (const prime of primes()) {
        if (prime > n) {
            break
        }

        if (n % prime === 0) {
            return [prime, ...primeFactors(n / prime)]
        }
    }

    return []
}

function largestPrimeFactor(n: number): number {
    return Math.max(...primeFactors(n)) //?
}

largestPrimeFactor(600851475143) //?