Project Euler Problems 1 to 100 - Problem 3: Largest prime factor

Tell us what’s happening:

I get This message in the console.
Potential infinite loop detected on line 3. Tests may fail if this is not changed.
6857

when calling:
largestPrimeFactor(600851475143);

and the last test some how fails even though the right answer is returned.

Your code so far

function largestPrimeFactor(number) {
let arr = [];
for(let i = 2; i<=number; i++){
if (number%i===0){
    arr.push(i);
}
}

//console.log(arr)

let arr3 = [];
 for(let i=0;i<arr.length;i++){
 if(arr[i]%2===1){
   arr3.push(arr[i])
 }
 }
 arr3.unshift(2)
 //console.log(arr3);

let myNum = number;
let arr2 = [];
for(let i = 0; i<=myNum; i++){
    myNum = myNum/arr3[i];
    arr2.push(arr3[i]);
}

arr2 = arr2.filter((el)=>el !== undefined)
//console.log(arr2);
const largest = arr2.reduce((acc,el)=>Math.max(acc,el));
console.log(largest);
  return largest;
}

largestPrimeFactor(600851475143);

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:138.0) Gecko/20100101 Firefox/138.0

Challenge Information:

Project Euler Problems 1 to 100 - Problem 3: Largest prime factor

Your algorithm is too inefficient, making it take too long, so the tests do not pass.

This topic was automatically closed after 60 days. New replies are no longer allowed.