Find all the factors of a given number

Factors of a given number are the numbers from 1 till the number, for which the number is divisible. It means all these numbers divide the given number and give remainder 0.

Example: The factors of 24 are 1, 2, 3, 4, 6, 8, 12, 24


        public static List<int> DoGetFactors(int n)
        {
            List<int> factors = new List<int>();

            // every number is divisible by 1
            factors.Add(1);

            for (int i = 2; i < n; i++)
            {
                if (n % i == 0)
                {
                    factors.Add(i);
                }
            }

            // every number is divisible by itself
            factors.Add(n);

            return factors;
        }
        

How it works:

For a given number, we’ll iterate from 2 till the number (but not the number included) and divide the number with each iteration counter. If the remainder is a 0 (meaning the number is divisible by the current counter) we’ll add the counter to the list. Finally we’ll return the list of all stored counters till the number back. By rule of divisibility every number is always divisible by 1 and itself so we’ll skip those two numbers within our loop.

For a number 12:


12%2=0
12%3=0
12%4=0
12%5=2
12%6=0
12%7=5
12%8=4
12%9=3
12%10=2
12%11=1

Hence the return factors: 1,2,3,4,6,12


Buy Me A Coffee

Found this article helpful? Please consider supporting!

Ram
Ram

I'm a full-stack developer and a software enthusiast who likes to play around with cloud and tech stack out of curiosity. You can connect with me on Medium, Twitter or LinkedIn.

Leave a Reply

Your email address will not be published. Required fields are marked *