Can someone explain to me the part where max=prime? and why is the max not declared as a variable?

//a piece from the solution code=>

max = 1;

while (prime <= number) {

if (number % prime == 0) {

max=prime;

  number = number / prime;

without the whole code, it’s difficult to say anything about a snippet of it

2 Likes

function largestPrimeFactor(number) {
let prime = 2,
max = 1;
while (prime <= number) {
if (number % prime == 0) {
max = prime;
number = number / prime;
} else prime++; //Only increment the prime number if the number isn’t divisible by it
}
return max;
}

max is declared as a variable, alongside with prime in the first statement:

let prime = 2, // line ends with comma!
max = 1;

This is the same as:

let prime = 2; // line ends with semicolon
let max = 1;

As for the second question, max is repeatedly reassigned in the while loop, so that when the loop ends because the condition isn’t true anymore, max will have the value of the last (and therefore biggest) factor.

1 Like

ohhh I get it now, thank you so much! :slight_smile: didn’t know that syntax part of comma

It’s not very common to declare variables like that, I for instance never use that syntax but always declare my variables with their own keywords on their own lines - it’s just more readable.

1 Like