Skip to main content

Find the number of divisors of a given number using matlab using function Method 1

Problem

Write a function in matlab to find the number of divisors of a given number using matlab.

Solution

In this problem we will use function definition, for loop, rem function, if statement. If you don't know know any of these then please head on to the links below to learn these:
1) Function definition in Matlab
2) For loop in Matlab
3) Rem function in Matlab(Remainder after division)
4) If statement in Matlab

Program


function result = numberofdivisors(n)
%This function will return the number of factors of a given number

result = 0;
for i = 1:n
    if rem(n,i) == 0
        result = result+1;
    end
end

Download the matlab format file of the above code from here: numberofdivisors.m

Explanation

We will directly start with the iterations of the for loop in order to explain this function. Let us assume that the input number for the function is 28. i.e. numberofdivisors(28)

First iteration

During the first iteration, the value of i is initiated to 1, now digging deep we will encounter a if statement whose condition is if the remainder of the given number vs the iterator is 0 then the condition is satisfied and you can go inside to execute the next line of come again after you have changed your value. But here the condition is satisfied and the next statement is satisfied. So the value of the result is changed from result = result +1 = 0+1 = 1
With this the first iteration is over and the second iteration starts

Second iteration

During the second iteration, the value of i is changed from 1 to 2, next the if statement condition is satisfied and  the result is changed from result = result +1 = 1+1 = 2
Now the second iteration is over and the third iteration will start

Third iteration

Here we will directly see the values of each variable so not to make this post lengthy.
i = 3
If statement is not satisfied and thus the value of result is unchanged.
result = 2
With this the third iteration is over and the fourth iteration starts. And this iterations will continue until i reaches the value of 28(or the value of n in general).

Finally the value of the result is returned to the function to give the output and it can be found that the output will be 6 in this case

You can also download this post in the pdf format to read it offline from here: numberofdivisors.pdf
The above code was highlighted using hilite.me

I have tried to explain this program so that it will be easy to understand, but if you have any doubt or didn't understand properly then please contact me from here: Contact me

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

Keywords: matlab functions, number of divisors

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