What are Factors? | Maths Explanation for C# Kids
                        Factors are the complete set of integers that will divide 
                        a particular number without remainder.
                        Take 36 as an example, it's complete set are:
                    
                        Other than prime numbers, every other number has at least 
                        one factor - not considering 1 as factor.
                        Where there is just one factor, then this factor is the square 
                        root of the number in question; 
                        In this guide, we'll explore the math behind factors-of-numbers and walk through 
                        how to code a C# algorithm for listing factors in a simple and fun way.
                    
Code Logic for Factorising Numbers in C# - Fun Maths Exercise
                        Actually, we've been doing factors over the last two demonstrations (lessons).
                    
                        We can implement a C# algorithm for factorising a number by simply checking for our factors using the 
                        square-root of number range.
                        We'll start from 1 (which is always a factor).
                        For each found factor, we'll get the corresponding complementary factor
                        by dividing the number (whose factors we are trying to find),
                        by the found factor. 
                        
                        This Math activity and C# script help primary school students understand factorization by listing all factors of a number.
                    
                        Create a new C# class file; Project, Add Class.
                        Call it ListFactors.
                        
                        Type out the adjoining C# code for listing factors.
                    
Note: You can comment out the C# code for the main class from the previous lesson if you have been following.
So! C# Fun Practice Exercise - List Factors
As a fun practice exercise, feel free to try out your own different numbers, and see how the C# code lists the factors of those numbers.
C# Code for List Factors class.
using System.Collections.Generic;
namespace Arithmetic
{
class ListFactors
{
private List<int> found_factors;
private int find_my_factors;
private int sqrt_range; // Use this range for our loop
public ListFactors(int candidate)
{
found_factors = new List<int>();
find_my_factors = candidate;
sqrt_range = (int)Math.Ceiling(Math.Sqrt(find_my_factors));
}
/**
* Does the main job of finding the requested factors.
* @return - array list of integers
*/
public List<int> doBusiness()
{
/* Loop through 1 to 'find_my_factors' and test for divisibility. */
for (int i = 1; i < sqrt_range; i++)
{
if ((find_my_factors % i) == 0)
{
found_factors.Add(i);
/* Get the complementing factor by dividing 'find_my_factor' by variable i. */
found_factors.Add(find_my_factors / i);
}
}
// Sort the array in ascending order; Not entirely necessary.
found_factors.Sort();
return found_factors;
}
}
}
C# Code for List Factors - Main class.
using System.Collections.Generic;
namespace Arithmetic
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Welcome to our demonstration sequels");
Console.WriteLine("Hope you enjoy (and follow) the lessons.");
Console.WriteLine("\r\n");
/*
* List Prime Numbers.
*/
int candidate = 48;
List<int> answer;
ListFactors factors = new ListFactors(candidate);
answer = factors.doBusiness();
Console.WriteLine("Factors of " + candidate + " are:");
Console.WriteLine(String.Join(", ", answer));
}
}
}