Project Euler Problem 8 Solution in JS

Project Euler Problem 8

Do you need “Project Euler Problem 8 Solution JS” . We will discuss all the problems in Project Euler and try to solve them using Python or JS. I have solved Project Euler Problem 6 Python as well.

The four adjacent digits in the 1000-digit number that have the greatest product are 9 × 9 × 8 × 9 = 5832.

7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450

Find the thirteen adjacent digits in the 1000-digit number that have the greatest product. What is the value of this product?

So we have to solve this problem using JS.

Lets first of all open Visual Code.

If we analyze the problem statement given here, we can see that we are asked to find the largest product of the thirteen adjacent digits in the above given numbers.

Project Euler Problem 8 Solution JS | 

Lets start! 

var a = "7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450";

var index = 0;
var max = 0;

while(index!=988)
{
    var temp = parseInt(a[index]) * parseInt(a[index+1]) * parseInt(a[index+2]) * parseInt(a[index+3]) * parseInt(a[index+4]) * parseInt(a[index+5]) * parseInt(a[index+6]) * parseInt(a[index+7]) * parseInt(a[index+8]) * parseInt(a[index+9]) * parseInt(a[index+10]) * parseInt(a[index+11]) * parseInt(a[index+12]) ;
    
   	if(temp > max)
    {
    	max = temp;    
    }
    index++;
}


print(max);

We put the big giant number into a string variable. Now lets traverse the string element one by one. Take 13 numbers at one time by adding offset to the current index. Take the loop until we get the last 13 numbers.

Convert the each element after adding the offset into integer because initially it was in string. Now lets multiple all the elements and compare it with a max variable.

We need to update max variable in case if our product is larger then max.

Project Euler Problem 8 Solution JS

Yaay! We got this right. Thanks for reading.

Happy coding!

%d bloggers like this: