Skip to main content

Problem 7 projecteuler.net Matlab 10001st prime

Problem

By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.
What is the 10 001st prime number? Solve using Matlab?

Solution

Here we will use the isprime function built in matlab. The program is simple. the explanation is given below the program. 

Program

function j = nprime(n)
%This function will give the value of the nth prime number.

counter = 0;
i = 2;
while (counter < n)
    if (isprime(i) == logical(1))
        counter = counter+1;
        j = i;
    end
    i = i+1;
end

Get the matlab file of the above function from here: nprime.m

Explanation

Here we will use two variables counter and i. Counter is used to count the index or the place or the rank of the current prime number during iteration, when compared to the rank of 2(rank is 1 for 2), and i is used to iterate through the numbers from 2 to some unknown number(This is the nth prime number).
We can make it easy to understand by going through the iterations

First iteration

Before the first iteration, counter = 0 and i = 2;
During the iteration:
The condition for the if statement is satisfied ( i = 2 is a prime number)
Now thus the value of counter increased from 0 to 1 and a new variable is created to store the prime number whose value becomes 2, at the end of the if statement the value of the i increases from 2 to 3.

Second iteration

During the second iteration, 
The condition for the if statement is again satisfied ( i = 3 is a prime number)
Now the value of the counter increases from 1 to 2 making 3 the second prime number in the sequence. A new variable is created to store the prime number whose value becomes 3, at the end of the if statement the value of the i increases from 3 to 4

Third iteration

Let us recall the values after the second iteration i.e. before the third iteration
counter = 2,
j = 3,
i = 4
During the third iteration
The condition for the if statement is not satisfied and thus the values of the counter variable and the j variable are not changed. 
but the value of i is changed from 4 to 5.

These iterations continue till the n th prime number is reached.

If you want to read this post offline then click here: problem7_projecteuler_matlab.pdf

If you have really understood the above program, then answer these two questions:
How many times did the while loop run?
How many times did the if condition got true while looping?

The above problem has been derived from projecteuler.net and can be found here: problem7

The code was highlighted using hilite.me

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

Keywords: problem 7, projecteuler.net, 10001 prime number, prime number

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