Project Euler Problem 8 Solution in JS

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

Let us 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, let’s 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 each element after adding the offset into integer because initially, it was in the string. Now lets multiple all the elements and compare it with a max variable.

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

Yaay! We got this right. Thanks for reading. Code here.

Happy coding!

I am a Software Engineer with ample experience in making games, websites, mobile apps and augmented reality solutions.