Skip to main content

Problem 10 projecteuler.net matlab Summation of primes - solution

Problem

The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.
Find the sum of all the primes below two million. Solve using Matlab.

Solution

In this program we have used the for loop, if statement, isprime function, logical function, num2str function which are in built in matlab. Please head on to the below links if you don't know any of them:
Find the explanation of this program below

Program

sum = 0;
for i = 1:2000000
    if isprime(i) == logical(1)
        sum = sum+i;
    end
end
num2str(sum)

Download this program from here: sum_of_primes.m

Explanation

During the start of this program we have initiated the variable sum equal to 0. Now a for loop is started in the range of 1 to 2000000(2 million). Let us understand this problem by going through iterations.

First iteration

In the first iteration, the value of i is 1. Now the if statement starts and checks for the condition whether 1 is prime using the isprime function and the condition is false, So the statement inside the if statement (Add the value of the sum to the prime number, if the if statement is true) is not executed and the second iteration starts.

Second iteration

Now in the second iteration the value of the i is changed from 1 to 2. Condition for the if statement is satisfied and the statement inside the if statement gets executed. Now the value of the sum is changed from 0 to 0+2. Now again the third iteration starts

Third iteration

In the third iteration, the value of i is changed to 3 and the condition for the if statement is satisfied and the value of sum changed from 2 to 5. Similarly this continues till the value of the i is 2000000(2 million).

Finally num2str function is used to give the output of the sum of all the prime numbers below 2000000(2 million).

You may have a doubt on why I have converted the number to string using num2str instead of directly stating the output as number. I have tried this and I have found that the output is in the form of scientific notation(Ex. 1.408e+34), and this is not accurate, but as we need the accurate result, I have converted it to string and the output is accurate.

I have tried to explain this program so that even novice can understand it, but if you have doubt please don't hesitate to ask me the doubt you have.

You can download this post in pdf format and read it offline here: problem10_projecteuler_matlab.pdf

The code was highlighted using hilite.me

The problem has been taken from projecteuler.net and can be found here: problem10

Run the program and comment below the output you are getting for a given input.

Keywords: problem 10, projecteuler.net, sum of primes, matlab

Popular posts from this blog

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 documentation

Problem 11 Project Euler Solution with python

Largest product in a grid In the 20×20 grid below, four numbers along a diagonal line have been marked in red. 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00 81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65 52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91 22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80 24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50 32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70 67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21 24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72 21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95 78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92 16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57 86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58 19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40 04 52 08 83 97 35 99 16 07

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