Skip to main content

projecteuler.net problem 8 MATLAB Largest product series

Problem

The four adjacent digits in the 1000-digit number that have the greatest product are 9 × 9 × 8 × 9 = 5832.
73167176531330624919225119674426574742355349194934
96983520312774506326239578318016984801869478851843
85861560789112949495459501737958331952853208805511
12540698747158523863050715693290963295227443043557
66896648950445244523161731856403098711121722383113
62229893423380308135336276614282806444486645238749
30358907296290491560440772390713810515859307960866
70172427121883998797908792274921901699720888093776
65727333001053367881220235421809751254540594752243
52584907711670556013604839586446706324415722155397
53697817977846174064955149290862569321978468622482
83972241375657056057490261407972968652414535100474
82166370484403199890008895243450658541227588666881
16427171479924442928230863465674813919123162824586
17866458359124566529476545682848912883142607690042
24219022671055626321111109370544217506941658960408
07198403850962455444362981230987879927244284909188
84580156166097919133875499200524063689912560717606
05886116467109405077541002256983155200055935729725
71636269561882670428252483600823257530420752963450
Find the greatest product of five consecutive digits in the 1000-digit number.Solve the problem using matlab.

Solution

This problem is very simple only thing that you should know is that we will not copy the number in the number format but in a string and then compute the digits derived from the string and then multiply the numbers of the consecutive numbers. See the program and you will understand every thing easily. The concepts used in the background of this are as follows:
To write the above number in multiple lines then you can use this : Continue long statement on Multiple lines - Matlab
Find the explanation below the program section

Program



number = '731671765313306249192251196744........'; %copy the full number
%to the string in the number variable
max = 0;
for i = 1:96
    value = 1;
    n1 = str2num(number(i));
    n2 = str2num(number(i+1));
    n3 = str2num(number(i+2));
    n4 = str2num(number(i+3));
    n5 = str2num(number(i+4));
    value = n1*n2*n3*n4*n5;
    if value > max
        max = value;
    end
end

disp(max)

Explanation

This program is very simple. First we will create a number variable and store the value of the number as string. Then we create a variable 'max' to store the value of the maximum value of the multiplication of the five consecutive numbers. Now we start a for loop and iterate it from 1 to 96. Let us consider the first iteration to understand the for loop.
In the first iteration the value of i is 1. Now the value of value is 1. n1 = 7, n2 = 3, n3 = 1, n4 = 6, n5 = 7. 
Now the value of the value is changed to n1*n2*n3*n4*n5 = 7*3*1*6*7 = 882.
And now in this iteration the value of max is smaller than value of value and thus the value of max is changed to 882.
Finally after all the iterations we will show the value of the max.

Final Note

Run the program and post your answer below in the comment below.
The above problem has been taken from projecteuler.net and can be found here: problem 8
I have tried to explain and solve this problem in such a way that it will be easy for everyone to understand. if you didn't understand or have any doubt then please let me know. You can contact me from here: contact me.
If you have found any mistake then please let me know. 
The above program has been highlighted using hilite.me.
Keywords: matlab,projecteuler.net solution, problem 8 , largest product series

Popular posts from this blog

Problem 60 Project Euler Solution with python

Prime pair sets The primes 3, 7, 109, and 673, are quite remarkable. By taking any two primes and concatenating them in any order the result will always be prime. For example, taking 7 and 109, both 7109 and 1097 are prime. The sum of these four primes, 792, represents the lowest sum for a set of four primes with this property. Find the lowest sum for a set of five primes for which any two primes concatenate to produce another prime. This problem is j u st a brute force problem. If you have come here because you don't know the limit upto which you will h ave to gener ate the prime numbers t hen go ahe ad and t r y with 10,000 . When I first start ed solving the problem I chose 1 million(beca use most of the problem s on project E uler have this limit ), but it took very long for the computer to fin d the solution. After searching on the internet then I found many people choosing 10, 000 so I have changed my in put f rom 1 million to 10000 and the output was f ast. He...

Add/Embed SVG to Blogger website

In this post I will tell you my method(trick) of adding SVG images in a blogger website or blog. Before starting , the first thin g I am assu m ing is that you are aware of SVG if you are here. If not please see S calable V ec tor G raphics Recently when I tried to embed a SVG image for a post on pygal, I tried uploading the SVG file and blogger Image uploader came up with an error, because of which I had to find some other way.  SVG File upload Error in Blogger  I started sea rc hing Google " Embed SVG in Blogger " . I found blogorrhea , w h ich gave some i nformatio n on add ing SVG directly as a markup , which worked , but I faced another problem using this . Also th is guy has used lot of Javascript which was confusin g for me, being new to using SVG.   So I first t houg ht of learning on h ow to embed SVG in HTML and t his on e worked out. Actually we can embed SVG in HTML i n following ways: Using Object tag Using Iframe tag Using embed...

Making a quiz web app with python and flask

Edit : When you are creating a web app with h tml templates, then y ou will have to sa ve the html file in templates folder in the Current Wor ki ng Directory( CWD). If you save the file in the C W D directl y you will get a TemplateNotFound error. Thank you Udhay for pointing it out.   In this post we will create a quiz website using python . I will be using the flask framework . After reading this tutorial you will learn form submission , flask templates , python code in flask templates , shuffling the questions and options with the random module and few others.  Please note that this tutorial is not big as it seems to be. Some of the code has been rewritten to maintain consistency and also font size is somewhat big so that your eyes won't get stressed reading this tutorial. Also the content has not occupied the full width of the page. In this tutorial I am assuming that you are having a very basic understanding of the flask framework . Please refer the documenta...