4Sep/130
Calculate the divisors of a number
Here are two different ways of calculating the divisors of a number using C#, something you're going to find extremely helpful when tackling Project Euler.
This method uses a for loop and a generic list.
static List<int> GetDivisors(int n) { List<int> div = new List<int>(); div.Add(n); for (int ctr = n / 2; ctr > 0; ctr--) if (n % ctr == 0) div.Add(ctr); return div; }
This one uses an Enumerable Range and LINQ, and returns the results as a generic list.
int n = 6556; List<int> div = Enumerable.Range(1, n / 2).Where(i => n % i == 0).Union(new List<int>{n}).ToList(); //returns 48 results
Enjoy.
Leave a comment